当使用Mono和MonoMac时,全局对象

本文关键字:全局 对象 MonoMac Mono | 更新日期: 2023-09-27 18:09:38

如何声明对象的全局实例?

当使用c#和。net时,我会这样做:

public static program {
  public static Foo MyFoo = new Foo();
  static void main() {
    MainForm = new MainForm(MyFoo);
  }
}

然而对于Mono/MonoMac,主函数调用NSApplication。Main和不直接创建任何windows。我如何将MyFoo的实例传递到主窗口?

注意:我试图避免在我的窗口/窗口控制器中引用任何MainClass,因为这会创建一个紧密耦合。我希望在其他情况下重用窗口类,因此需要松耦合。

是我想要什么可能与MonoMac?

谢谢,安迪

当使用Mono和MonoMac时,全局对象

使用单例 ?你的代码看起来像:

 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);
   }
 }