我有一个Windows窗体程序,它创建了一个Config对象,其中包含程序使用的各种配置变量。在主窗体中,它包含一个打开新配置窗体的按钮,在那里它将Config对象作为引用-传递
FormConfig button = new FormConfig(ref config);
button.ShowDialog();
现在在FormConfig类中,我可以访问主构造函数中的Config对象
public FormConfig(ref Config config)
{
InitializeComponent();
// can access config.xyz OK here
}
然而,在新表单中,我有一个按钮,它调用了另一个需要访问引用Config对象的函数,但我很难找到一个干净的方法。我可以创建另一个Config对象作为FormConfig类的一部分,然后在主构造函数中将引用的Config复制到它,但是原始的Config对象不会更新。
我怎样才能做到这一点?
如果这个问题已经得到回答,PS提前道歉,但我的搜索到目前为止还没有找到解决方案,可能是因为我不确定正确的搜索词应该是什么。
由于@cos,解决方案是将Config类声明为静态,这就不需要在类/函数之间使用任何引用或传递对象-
public static class Config
{
public static bool SettingA = true;
}
这意味着我可以使用以下代码从同一命名空间内的任何地方访问和修改Config对象,而不需要类实例-
Config.SettingA
感谢所有帮助我指明正确方向的人。