编程语言
首页 > 编程语言> > C#-事件参数分配

C#-事件参数分配

作者:互联网

我有这个事件处理程序

Temp.MouseLeftButtonDown =新的MouseButtonEventHandler(Temp_MouseLeftButtonDown);

但我想发送一些参数以访问Temp_MouseLeftButtonDown函数.
我如何分配它?

解决方法:

您不能直接执行此操作,因为事件处理程序只能期望与MouseButtonEventHandler兼容的签名.

如果您使用的是C#3,最简单的方法就是使用lambda表达式-类似于:

Temp.MouseLeftButtonDown +=
   (sender, args) => Temp_MouseLeftButtonDown(sender, args, "extra argument");

有帮助吗?当然,如果您既不需要发送方和事件参数,则不必提供它们.

在C#2中,您可以以相同的方式使用匿名方法.

标签:event-handling,mouseevent,eventargs,c
来源: https://codeday.me/bug/20191024/1917392.html