0
我目前有一个主类和一些辅助类。两个类都在单独的类文件中,位于“类”文件夹内(解决方案资源管理器下)。C#类作用域混淆
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;
}
}
目前我有* VARIABLE_I_WANT_TO_ACCESS *在Form1.cs中文件中定义。 as public static int。令人惊讶的是,如果我将帮助类移动到Form1.cs,变量可以直接访问。
我也尝试在* HELPER_CLASS_1 *中定义* MAIN_APP *实例,但据我了解,它创建* MAIN_APP *的另一个实例,我得到新创建的实例的值,而不是原来的实例。
什么是更好的方法来确定范围?我如何从子类访问我需要的变量?谢谢!
多数民众赞成混淆,在form1.cs你想访问MainApp.cs中的变量,所以为什么要通过帮助类来获取它?为什么不直接从MainApp.cs访问它 –
那么你是否问如何从HELPER_CLASS_1访问MAIN_APP中的实例公共变量? – Daryl
井辅助类实际上包含DataTable,'get_variable_i_want()'函数实际上是'init_data_tables'。该函数将根据母类VARIABLE_I_WANT_TO_ACCESS创建数据表列。 – user1015551