1

我正在尝试在 Windows 窗体应用程序中生成事件处理程序。当我写

myAlgorithm.nextNodeFound += 

并按两次“Tab”,它会自动生成一个新的处理程序,但这个处理程序适用于 EventArgs,我需要的是有一个与CustomEventArgs. 我试图修改自动生成的处理程序的签名,但它给出了错误

*myAlgo_nextNodeFound 没有重载匹配委托 System.EventHandler*

请建议如何使其工作。

4

1 回答 1

2

看起来问题在于您已将nextNodeFound事件声明为 type EventHandler。如果您需要它与您的自定义参数一起使用,您应该使用使用正确参数的委托类型......泛型EventHandler<TEventArgs>类型可能是您想要的:

public event EventHandler<CustomEventArgs> NextNodeFound;

请注意,我已经更改了符合 .NET 命名约定的名称。这也假设CustomEventArgs源自EventArgs- 如果还没有,我建议你这样做。您可能还想更改名称以表明它是如何自定义的 - 例如NodeTraversalEventArgs或类似的东西。

听起来您可能对 .NET 事件比较陌生 - 您可能想阅读我关于事件和委托的文章

于 2013-05-05T15:44:38.450 回答