创建没有EventArgs的事件

时间:2016-11-16 18:33:55

标签: c# asp.net

创建事件时,发送EventArgs对象作为第二个参数是标准的。但是,事件通常只需要发送一个数据,例如字符串或int。据我所知,你不能对基础EventArgs类做任何事情。

因此,为了发送一个带有事件的简单字符串/ int,是否真的有必要创建一个包含一个字段的新类?

实施例

public delegate void JoinButtonEvent(object sender, string buttonId);

VS

public delegate void JoinButtonEvent(object sender, JoinButtonEventArgs e);

其中JoinButtonEventArgs是一个名为buttonId的字段的类。

1 个答案:

答案 0 :(得分:1)

不需要编译代码;但编码惯例是明智的。

这次你肯定只关心一个变量,但是如果将来需要另一个变量,你必须更新所有旧代码以获得一个额外的参数,而不是只需要在需要新内容时将另一个属性添加到中心类。 (因为事件不是多态的,并且不能像方法一样被覆盖,为同一个方法名称设置不同的参数)

相关问题