我有代表
delegate string Mathop<T,F>(T a,F b);
我宣布像
这样的事件event Mathop<T,F> someevent;
但在这里我收到了一个错误。它说'T'找不到。我希望我的Mathop
委托作为我的活动的事件处理程序。
我在这里做错了什么。
答案 0 :(得分:2)
您需要将事件包含在采用类型参数的类中,例如
class C<T, F>
{
event Mathop<T, F> someevent;
}
您无法订阅没有定义具体类型的事件 - 想象一下 - 只要它有两个参数并返回一个字符串,您就可以向该事件添加任何委托!
使用上面的代码,您现在应该可以执行类似
的操作new C<Int32, Int32>().someevent += MyMethod
MyMethod有签名
String MyMethod(Int32 a, Int32 b);