创建密封通用委托的具体版本
本文关键字:版本 密封 创建 | 更新日期: 2023-09-27 18:18:51
我想做以下几件事:
public class ObjectReadEventHandler : EventHandler<ObjectReadEventArgs> { };
我不能这样做,因为事件处理程序<>是密封的。有谁知道我可以用来制作 EventHandler<> 的具体版本的解决方法?我需要这个,因为我怀疑 Python.NET 无法将事件处理程序<>作为方法参数进行处理。
更新:
从理论上讲,我想这样做:
ObjectReadEventHandler = EventHandler<ObjectReadEventArgs>
以便以后我可以这样做:
public void AddObjectHandler(string ID, ObjectReadEventHandler handler)
我想这样做的原因是因为我怀疑它会为我在 Python.NET 中使用此库时遇到的问题提供解决方法。
public delegate void ObjectReadEventHandler(
object sender, ObjectReadEventArgs args);
这就是您声明委托的方式。请参阅 MSDN
关于更新:委托是可转换的,如果它们具有相同的签名(参数和返回值 + 一些差异是正确的(,您当然可以将一个分配给另一个。委托本质上是从MulticastDelegate
派生的,类似于方法+对象列表。