繁体   English   中英

C#类范围混淆

[英]C# class scope confusion

我目前有一个主班和一对助手班。 这两个类均位于“类”文件夹中的单独类文件中(在解决方案资源管理器下)。

Form1.cs

public static Classes.MAIN_APP app = new Classes.MAIN_APP();
// execute function to fetch MAIN_APP's variable
app.helper_1[0].get_variable_i_want();

类:

// main_app.cs
public partial class MAIN_APP {
   public List<HELPER_CLASS_1> helper_1 = new ....

   public int VARIABLE_I_WANT_TO_ACCESS;
}

// helper_1.cs
public partial class HELPER_CLASS_1 {

   public int get_variable_i_want(){
      return VARIABLE_I_WANT_TO_ACCESS;
   }

}

目前,我在Form1.cs文件中定义了* VARIABLE_I_WANT_TO_ACCESS *。 作为public static int 令人惊讶的是,如果我将帮助程序类移到Form1.cs ,则可以直接访问该变量。

我还尝试在* HELPER_CLASS_1 *中定义* MAIN_APP *实例,但据我所知,它创建了* MAIN_APP *的另一个实例,并且我得到了新创建的实例的值,而不是原始实例的值。

有什么更好的方法来解决这个问题? 如何从子类访问所需的变量? 谢谢!

这是一个公共和静态变量。 您应该可以访问它。 使用完整的路径名

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM