Tag: eventargs

创建一个没有标准(Obj sender,EventArgs args)签名的事件处理程序委托有多么错误?

我理解使用标准MS事件处理程序委托签名的好处,因为它允许您轻松扩展通过事件传递的信息,而不会破坏任何基于旧委托签名的旧关系。 我想知道在实践中人们经常遵循这条规则吗? 说我有一个像这样的简单事件 public event NameChangedHandler NameChanged; public delegate void NameChangedHandler(Object sender, string oldName, string newName); 这是一个简单的事件,我几乎肯定我从NameChanged事件中需要知道的唯一参数是名称已更改的对象,旧名称和新名称。 那么创建一个单独的NameChangedEventArgs类是否值得,或者像这样的简单事件是否可以直接通过委托参数返回参数?

现在需要EventArg类,我们有generics

使用generics,是否有理由创建特定的派生EventArg类 现在看起来你可以通过通用实现轻松地使用它们。 我应该去看看我的所有示例并删除我的eventArg类(StringEventArgs,MyFooEventArgs等)。 public class EventArgs : EventArgs { public EventArgs(T value) { m_value = value; } private T m_value; public T Value { get { return m_value; } } }