在我的程序,有一個地方,當我需要訪問從工廠解決了單,重視它的事件:附加到工廠實例化的單例事件 - 什麼是乾淨的方法?
void MyMethod()
{
myFactory.Resolve<MySingleton>().DoWork += WorkMethod;
}
的問題是的MyMethod可以被執行多次,但我要附加事件只有一次(否則我會得到多個電話)。所以我只想在以前沒有依附的時候重視。 它還有什麼比
myFactory.Resolve<MySingleton>().DoWork -= WorkMethod;
myFactory.Resolve<MySingleton>().DoWork += WorkMethod;
您可以將事件和'hasBeenCalled'邏輯放入私有方法中。我通常這樣做是爲了將它從MyMethod()中移除。如果你有很多事件,它會混淆原始方法。 – TheSean 2009-11-13 18:14:14
我認爲這是一個很好的方法,但我的單身並不是一個「終身」的單身人士。有時它可以重新創建,所以它看起來像我應該使用引用它的標誌而不是。 – 2009-11-13 18:49:36