C# 泛型内置EventArgs是否只包含一个属性?
我有许多EventArgs类,只有一个字段和一个适当的属性来读取它:C# 泛型内置EventArgs是否只包含一个属性?,c#,.net,generics,events,fcl,C#,.net,Generics,Events,Fcl,我有许多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 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; }
}
}
公共类GenericEventArgs:EventArgs
{
私有只读T值;
公共总务文塔(电视台)
{
该值=v;
}
公共价值
{
获取{返回this.value;}
}
}
附言。
我写了一篇如果有,肯定没有得到很好的宣传!(也就是说,它不是用于一般用途的东西,比如Func
)我以前也想过同样的事情。这不是一个罕见的要求,国际海事组织
当然,这样做的一个缺点是它没有一个有意义的属性名称——它就像
EventArgs
等价于Tuple
。但是,如果您有几个不同的用例,并且实际上很明显它的意思是什么,那么就去做吧:)我认为没有。看来你不是唯一一个问自己这个问题的人。
查看此页面底部的,您可以看到所有类都继承自EventArgs类: 最合适的是ReturnEventArgs,但此类位于PresentationFramework.dll中,该类仅由WPF项目引用
因此,我建议您自己创建一个。@Itay的链接指向一个有趣的名称:just
EventArgs
。很有趣,为什么FCL还没有包含这么有用的类!在某些Microsoft程序集/名称空间中存在DataEventArgs
的实现。另见: