通用内置EventArgs仅持有一个属性?
题
我有许多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; }
}
}
PS我写了 Microsoft Connect上的建议
解决方案
我认为没有。
看来您不是唯一一个问自己这个问题的人。
看一看 这里
其他提示
如果有 是 第一,当然没有很好地宣传! (即这不是你的东西 意思是 用于通用物品,例如 Func<T>
。)我本人以前考虑过同一件事。这不是罕见的要求,IMO。
一个缺点是,它当然没有该物业的有意义的名称 - 就像一个 EventArgs
等效 Tuple
. 。但是,如果您有几个不同的用例, 将要 实际上是什么意思,去:)
在底部的此页面上,您可以看到所有类都是从EventArgs类继承的:http://msdn.microsoft.com/en-us/library/system.eventargs.aspx
最合适的是returneventargs http://msdn.microsoft.com/en-us/library/ms615572.aspx 但是该类位于presentationFramework.dll中,仅WPF项目引用。
因此,我建议创建自己的一个。
不隶属于 StackOverflow