我要在form里调用一个函数,我是这么写的private void add_data_Click(object sender, EventArgs e)
        {
            if (check_new_line()==true )
            {
                dataGridView1.Rows.Add(1);
            }
            else
            {            }   这是函数:
namespace 新数控test.auto_edit
{
    public partial class form_aotu_edit
    {
        class auto_edit_function
        {
            public bool check_new_line() 
            {
                return true ;
            }
        }
    }
}
他们不是一个.cs里的,可是他说我上下文没有check_new_line函数啊。我不是已经用public了吗,怎么不对了???

解决方案 »

  1.   

    调用其他类里的函数要先将类实例化:form_aotu_edit fae = new form_aotu_edit();//先实例化
    if (fae.check_new_line()==true ) //这样调用
    {}或者你在定义函数的时候定义成静态函数,就可以直接用类名去调用了://这是函数: 
    namespace 新数控test.auto_edit 

        public partial class form_aotu_edit 
        { 
            class auto_edit_function 
            { 
                public static bool check_new_line() //加了一个关键字static,声明函数为静态函数
                { 
                    return true ; 
                } 
            } 
        } 
    } if (form_aotu_edit fae.check_new_line()==true ) //直接用类名调用函数
    {}
    可是我不明白你下面的类为什么要套两个class?public partial class form_aotu_edit 
        { 
            class auto_edit_function //这里套一个class干什么?没用的去掉吧
            { 
            }
        }
      

  2.   

    要引用命名空间 新数控test.auto_edit   using 这个
      

  3.   

    1引用也行,
    2直接实例化,也行
    3刚才那个静态函数也行!前提是namespace 新数控test.auto_edit //这个都要相同!
      

  4.   


    public partial class form_aotu_edit   //这个类要干么啊
        { 
            class auto_edit_function   //这里还有一个类啊
            { 
                public bool check_new_line() 
                { 
                    return true ; 
                } 
            } 
        } 
      

  5.   

    对对对,引用命名空间我忘了说啦。
    要在你调用其他类的那个form里引用那个类的命名空间,这个是必须的
    using 新数控test.auto_edit;
      

  6.   


    不知道你是怎么编类的,
    要是我就改成
    class auto_edit_function   //这里还有一个类啊
            { 
                public bool check_new_line() 
                { 
                    return true ; 
                } 
            } 这样就行了,
    用的时候 
    直接
    auto_edit_function aaa = new auto_edit_function();
      aaa.check_new_line();  就能调用了!
      

  7.   

    1楼贴太快贴错了
    if (form_aotu_edit.check_new_line()==true ) //直接用类名调用函数
    {}
      

  8.   

    public partial class form_aotu_edit 这个意思是不完整类,具体我也搞不明白!你看看这个
    http://dev.csdn.net/article/27/27716.shtm
      

  9.   


    public partial class form_aotu_edit
        {
         public    class auto_edit_function
            {
                public  bool check_new_line() //加了一个关键字static,声明函数为静态函数
                {
                    return true;
                }
            }
        } form_aotu_edit.auto_edit_function xx = new form_aotu_edit.auto_edit_function();
                xx.check_new_line();
    前提是namespace要一样
      

  10.   

    namespace名称.form_aotu_edit.auto_edit_function xx = new namespace名称.form_aotu_edit.auto_edit_function();
                xx.check_new_line();
    如果namespace不同的话
    就按上面这样子
    好了结帖给分吧