.NET是否有一个内置的EventArgs< T&GT ;? [英] Does .NET have a built-in EventArgs<T>?

查看:131
本文介绍了.NET是否有一个内置的EventArgs< T&GT ;?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我准备创建携带一个参数事件参数的通用EventArgs类:

I am getting ready to create a generic EventArgs class for event args that carry a single argument:

public class EventArg<T> : EventArgs
{
    // Property variable
    private readonly T p_EventData;

    // Constructor
    public EventArg(T data)
    {
        p_EventData = data;
    }

    // Property for EventArgs argument
    public T Data
    {
        get { return p_EventData; }
    }
}

我这样做之前,C#有内置的语言相同的功能?我似乎记得跨类似的东西来当C#2.0出来了,但现在我找不到它。

Before I do that, does C# have the same feature built in to the language? I seem to recall coming across something like that when C# 2.0 came out, but now I can't find it.

或者换一种说法,我必须创建自己的通用EventArgs类,还是C#提供一个?感谢您的帮助。

Or to put it another way, do I have to create my own generic EventArgs class, or does C# provide one? Thanks for your help.

推荐答案

没有。你可能在想的<一个href=\"http://msdn.microsoft.com/en-us/library/db0etb8x%28VS.85%29.aspx\"><$c$c>EventHandler<T>,它允许您定义委托任何特定的EventArgs类型。

No. You probably were thinking of EventHandler<T>, which allows you to define the delegate for any specific type of EventArgs.

我个人不觉得 EventArgs的&LT; T&GT; 是那么好一个合适的,虽然。用作事件参数一个有效载荷的信息应该是,在我看来,一个自定义类,使它的使用和预期性质非常清楚。使用泛型类将prevent你能够把有意义的名称到位。 (什么是数据重present?)

I personally don't feel that EventArgs<T> is quite as good of a fit, though. The information used as a "payload" in the event args should be, in my opinion, a custom class to make it's usage and expected properties very clear. Using a generic class will prevent you from being able to put meaningful names into place. (What does "Data" represent?)

这篇关于.NET是否有一个内置的EventArgs&LT; T&GT ;?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆