对于派生自EventArgs
的类,他们的数据应该是多么可变?
我知道可能存在“依赖”的情况,但由于该对象可能会被大量传递,因此我认为它应该尽可能不可变:
public class MyEventArgs : EventArgs
{
public int Value { get; private set; }
public MyEventArgs(int value)
{
Value = value;
}
}
答案 0 :(得分:3)
有时,自定义EventArgs类的成员用于将信息返回给事件调用者(对拥有/触发事件的对象)。
在这种情况下,该成员应该是可编辑的。
一个突出的例子是http://msdn.microsoft.com/en-us/library/system.windows.forms.keyeventargs.handled(v=vs.110).aspx