0
我有一個問題,在某些情況下,默認委託不夠用。它需要一個序言和一個postable。我只是想知道是否有更好的叫三重委託三重委託
CSELib.ELib eventLib = new CSELib.ELib();
eventLib.Bomb += BombCatcherStart;
eventLib.Bomb += eventLib.BombCatcher;
eventLib.Bomb += BombCatcherEnd;
...
eventLib.BombRaise();
或調用一個委託,然後調用三個
void BombCatcherGroup(CSELib.Elib self)
{
BombCatcherStart(self);
self.BombCatcher(self);
BombCatcherEnd(self);
}
CSELib.ELib eventLib = new CSELib.ELib();
eventLib.Bomb += BombCatcherGroup;
...
eventLib.BombRaise();
它基本上做同樣的事情,但我只是想知道遠作爲「最佳實踐」而言,是否最好像三聯代表那樣先告訴所有人,或者將其隱藏在單一代表中。
你是什麼意思「告訴所有人前面」?你的意思是「默認代表做得不夠」?你的問題有點不清楚,但它聽起來像最終只是基於意見... –
就最佳做法而言,我會避免第一個。該解決方案假定事件按照與添加順序相同的順序依次觸發。我不認爲這個框架總體上有這樣的保證。 –
也許我正在讀這篇文章,但它確實聽起來像是一個X-Y問題。我更傾向於添加'BeforeBomb'('Bombing'?)和'AfterBomb'('Bombed'?)事件並訂閱每個這些事件。你無法控制還有什麼其他的訂閱炸彈,以及按照什麼順序。說實話,如果沒有你想要做的事情的完整例子,很難說清楚。 –