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

前端之家收集整理的这篇文章主要介绍了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"));

猜你在找的C#相关文章