C# · 12月 23, 2021

c# – 如何创建通用事件提升方法

我有一组具有相同签名的事件.现在我想知道我是否可以创建一个通用事件处理程序引发方法来为所有事件执行此操作?

>这可以发送事件为< T> ?

解决方法 如果这都在一个类中,您可以创建一个方法来引发适用于其中任何一个的事件.例如,如果您的所有活动都是EventHandler< T>,您可以使用: private void RaiseEvent<T>(EventHandler<T> eventHandler,T eventArgs){ if (eventHandler != null) { eventHandler(this,eventArgs); } }

然后你可以通过以下方式调用:

this.RaiseEvent(this.MyEvent,new MyEventArgs(“Foo”));