Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 泛型内置EventArgs是否只包含一个属性?_C#_.net_Generics_Events_Fcl - Fatal编程技术网

C# 泛型内置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; } } } 是否有任何内置的泛型类来实

我有许多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; }
    }    
}
公共类GenericEventArgs:EventArgs
{
私有只读T值;
公共总务文塔(电视台)
{
该值=v;
}
公共价值
{
获取{返回this.value;}
}    
}
附言。 我写了一篇

如果有,肯定没有得到很好的宣传!(也就是说,它不是用于一般用途的东西,比如
Func
)我以前也想过同样的事情。这不是一个罕见的要求,国际海事组织


当然,这样做的一个缺点是它没有一个有意义的属性名称——它就像
EventArgs
等价于
Tuple
。但是,如果您有几个不同的用例,并且实际上很明显它的意思是什么,那么就去做吧:)

我认为没有。
看来你不是唯一一个问自己这个问题的人。

查看此页面底部的

,您可以看到所有类都继承自EventArgs类:

最合适的是ReturnEventArgs,但此类位于PresentationFramework.dll中,该类仅由WPF项目引用


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

@Itay的链接指向一个有趣的名称:just
EventArgs
。很有趣,为什么FCL还没有包含这么有用的类!在某些Microsoft程序集/名称空间中存在
DataEventArgs
的实现。另见: