在VS2008中生成事件处理程序

时间:2013-05-05 15:41:33

标签: c# visual-studio-2008 event-handling

我正在尝试在Windows窗体应用程序中生成一个事件处理程序。我写的时候

myAlgorithm.nextNodeFound += 

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

  

* myAlgo_nextNodeFound的重载不匹配委托   System.EventHandler *

请建议如何使其发挥作用。

1 个答案:

答案 0 :(得分:2)

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

public event EventHandler<CustomEventArgs> NextNodeFound;

请注意,我已更改了遵守.NET命名约定的名称。这也假设CustomEventArgs来自EventArgs - 如果它还没有,我建议你这样做。您可能还想更改名称以指示 的自定义方式 - 例如NodeTraversalEventArgs或类似内容。

听起来你可能对.NET事件比较陌生 - 你可能想要阅读我的article on events and delegates