如何声明对象的全局实例?
使用C#和.NET时,我会这样做:
public static program {
public static Foo MyFoo = new Foo();
static void main() {
MainForm = new MainForm(MyFoo);
}
}
但是对于Mono / MonoMac,主函数调用NSApplication.Main并且不直接创建任何窗口。我如何将MyFoo的实例传递给主窗口?
注意:我试图避免在我的窗口/窗口控制器中对MainClass的任何引用,因为这会产生紧耦合。我想在其他情况下重用窗口类,因此需要松耦合。
MonoMac是我想要的吗?
谢谢,安迪答案 0 :(得分:0)
使用 singleton ?您的代码将如下所示:
public class Foo {
public static Foo Global = new Foo ();
public Foo () { }
// rest of Foo logic
}
public class Program {
static void Main () {
MainForm = new MainForm (Foo.Global);
}
}