我想做以下事情:
public class ObjectReadEventHandler : EventHandler<ObjectReadEventArgs> { };
我不能这样做,因为EventHandler&lt;&gt;是密封的。有没有人知道我可以用来制作具体版本的EventHandler&lt;&gt ;?的解决方法?我需要这个,因为我怀疑Python.NET无法处理EventHandler&lt;&gt;作为方法参数。
更新:
基本上,我想这样做:
ObjectReadEventHandler = EventHandler<ObjectReadEventArgs>
以后我可以这样做:
public void AddObjectHandler(string ID, ObjectReadEventHandler handler)
我想这样做的原因是因为我怀疑它会为我在Python.NET中使用这个库时遇到的问题提供一个解决方法。
答案 0 :(得分:1)
public delegate void ObjectReadEventHandler(
object sender, ObjectReadEventArgs args);
这是你宣布代表的方式。 See MSDN
关于更新:代表是可转换的,如果它们具有相同的签名(参数和返回值+某些方差是正确的),您当然可以将其分配给另一个。代表基本上派生自MulticastDelegate
,类似于方法+对象列表。