【发布时间】:2016-09-06 00:21:41
【问题描述】:
有什么方法可以基于现有的委托类型创建新的委托类型?就我而言,我想创建一个委托 MyMouseEventDelegate,它与 EventHandler<MouseEventArgs> 具有相同的功能。
我为什么要这个?当然,要利用编译时类型检查!这样,我可以有两个不同的代表:MyRightClickHandler 和 MyLeftClickHandler,并且永远不会混淆这两个代表 - 即使它们在功能上都与 EventHandler<MouseEventArgs> 相同。
是否有语法来做这种事情?
哦,还有这样的代码:
using MyRightClickHandler = EventHandler<MouseEventArgs>
还不够好。它不进行任何类型检查,因为它实际上并没有创建新类型。而且我必须将这样一行粘贴到我要引用MyRightClickHandler的每个代码文件中。
【问题讨论】:
-
我已经修改了标题,以明确您在谈论委托类型,而不是委托实例。希望你不要介意。
标签: c# inheritance delegates