这句话是卸载我看MSDN介绍说:EventHandler是表示将处理不包含事件数据的事件的方法,但我这里的委托内容是将获取的参数转为另一个参数,生成数据了。和EventHandler的官方说法矛盾啊?刚查了下,SerialDataReceivedEventArgs用于传递数据,但还是不理解this.Invoke((EventHandler) delegate{/*委托内容*/}) 这句话为什么可以用?delegate是委托。
1条回答 默认 最新
save4me 2015-07-04 11:32关注EventHandler 委托的签名是
public delegate void EventHandler(Object sender, EventArgs e);
其中第二个参数是EventArgs表示包含事件数据的类的基类,并提供要用于不包含事件数据的事件的值。只有一个Empty字段。EventHandler 是一个预定义的委托,专用于表示不生成数据的事件的事件处理程序方法。
**如果事件生成数据,则必须提供自己的自定义事件数据类型,并且必须要么创建一个委托,其中第二个参数的类型为自定义类型,
要么使用泛型 EventHandler 委托类并用自定义类型替代泛型类型参数。**因为你上面的代码看,你好像不是使用EventHandler这样的泛型委托,所以检查一下你使用的是自定义委托,而并不是EventHandler。
解决 无用评论 打赏 举报