我有许多EventArgs类,只有一个字段和一个适当的属性来读取它:
public class SomeEventArgs : EventArgs
{
private readonly Foo f;
public SomeEventArgs(Foo f)
{
this.f = f;
}
public Foo Foo
{
get { return this.f; }
}
}
是否有任何内置的泛型类来实现这样的行为,或者我必须自己滚动?
public class GenericEventArgs<T> : EventArgs
{
private readonly T value;
public GenericEventArgs(T v)
{
this.value = v;
}
public T Value
{
get { return this.value; }
}
}
P.S。 我写了一个suggestion on Microsoft Connect
答案 0 :(得分:3)
如果是一个,那肯定没有得到很好的宣传! (也就是说,这不是你意味着用于一般用途的东西,比如Func<T>
。)我以前自己也想过同样的事情。这不是一个罕见的要求,IMO。
这样做的一个缺点是它没有一个有意义的属性名称,当然 - 它就像EventArgs
相当于Tuple
。但是,如果你有几个不同的用例, 实际上显而易见的含义是什么,那就去吧:)
答案 1 :(得分:2)
在底部的这个页面上,您可以看到所有类都是从EventArgs类继承的: http://msdn.microsoft.com/en-us/library/system.eventargs.aspx
最合适的是ReturnEventArgs http://msdn.microsoft.com/en-us/library/ms615572.aspx,但此类位于PresentationFramework.dll中,仅由WPF项目引用。
所以我建议你自己创建一个。
答案 2 :(得分:1)
我认为没有。
看起来你不是唯一一个问自己这个问题的人
看看here