我有许多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项目引用。

因此,我建议创建自己的一个。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top