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'?)事件并订阅每个这些事件。你无法控制还有什么其他的订阅炸弹,以及按照什么顺序。说实话,如果没有你想要做的事情的完整例子,很难说清楚。 –