1、public  class ThisApplication
{
       public Func1();
       public Func2()
       {
           FormA a = new FormA();
           a.Func3();
       }
}2、public class FormA : Form
   {
       Func1();
   }
两个class在同一namespace下,编译错误:找不到Func1的定义ThisApplication.Func1();
提示
非静态的字段、方法或属性“”要求对象引用
应该怎么访问那个函数?

解决方案 »

  1.   

    public class FormA : Form
       {
           public Func3()
           {
           Func1();//上面那个类的函数
           }
       }
      

  2.   

    ThisApplication ta = new ThisApplication()'
    ta.Func1();
      

  3.   

    ThisApplication  不能再被实例化了吧,?
      

  4.   

    namespace OutlookAddin1
    {
        public partial class ThisApplication
        {//参数
            private string IniSettingfile;//网关参数设置配置文件
            private string IniPhonefile;//邮件地址-号码对应文件
            //其他参数 
            
            public  string GetPhoneByEmail(string semail)
            {
               CIni myini = new CIni(IniPhonefile);//这个函数用到了上面的变量
               //其他操作
            }        private void sendbt_Click(Office.CommandBarButton ctrl, ref bool cancel)
            {
                CIni myini = new CIni(IniSettingfile);//上面的参数            FormSendSms myform = new FormSendSms();//
                myform.SetVal();//就是这个函数
            }
    }}
    namespace OutlookAddin1
    {
        public partial class FormSendSms : Form
        {
            public void SetVal()
            {           // ThisApplication App = new ThisApplication();          GetPhoneByEmail(semail);//想用这个函数
            }
    }}
      

  5.   

    原来是这样:
     
    1、声明为静态函数;或者2、Globals.ThisApplication.GetPhoneByEmail(semail);不太明白,Globals.ThisApplication是对象吗?还是类?