在事件处理方面需要帮助

时间:2010-07-05 11:31:58

标签: c# .net generics event-handling delegates

我有代表

delegate string Mathop<T,F>(T a,F b); 

我宣布像

这样的事件
event Mathop<T,F> someevent;

但在这里我收到了一个错误。它说'T'找不到。我希望我的Mathop委托作为我的活动的事件处理程序。

我在这里做错了什么。

1 个答案:

答案 0 :(得分:2)

您需要将事件包含在采用类型参数的类中,例如

class C<T, F>
{
    event Mathop<T, F> someevent;
}

您无法订阅没有定义具体类型的事件 - 想象一下 - 只要它有两个参数并返回一个字符串,您就可以向该事件添加任何委托!

使用上面的代码,您现在应该可以执行类似

的操作
new C<Int32, Int32>().someevent += MyMethod

MyMethod有签名

String MyMethod(Int32 a, Int32 b);