[英]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.