0
我有相同(簽名明智)事件(25+)的列表:如何將對象中的所有事件動態綁定到EventHandler?
public class SourceOfManyEvents {
public event Action<EventInfo> FirstEvent = delegate { };
public event Action<EventInfo> SecondEvent = delegate { };
{...}
}
我知道更多的事件將被添加到堂課下來使用相同簽名的道路。我熱衷於做一些記錄,當事件觸發,所以我要綁定所有事件到一個記錄的事件處理程序是這樣的:
// PSEUDO-CODE WARNING! :D
// PSEUDO-CODE WARNING! :D
// PSEUDO-CODE WARNING! :D
public void BindToAllEvents(SourceOfManyEvents source) {
var events = typeof(SourceOfManyEvents).GetEvents();
foreach (var e in events) {
e.BindToEvent(source, GenericEventHandler);
}
}
public void GenericEventHandler(EventInfo info) {
// do some logging here
}
有沒有辦法實現這個使用.NET 4中& C#?
你控制那的射擊事件的對象? – 2010-07-30 12:58:00
你可能想看看PostSharp。 – 2010-07-30 12:59:21
是的,在這種情況下,我控制了對象,但我很想了解如何以兩種方式執行此操作......因爲在不能控制對象的不同項目中也有類似的情況。 – InvertedAcceleration 2010-07-30 13:02:33