Глобальные объекты при использовании Mono с MonoMac - PullRequest
1 голос
/ 24 сентября 2011

Как объявить глобальные экземпляры объектов?

При использовании 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?

спасибо, Энди

1 Ответ

0 голосов
/ 25 сентября 2011

Использовать синглтон ?Ваш код будет выглядеть так:

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