无法阅读此C#代码

时间:2014-02-20 13:43:36

标签: c# .net bluetooth

我尝试为我的最终项目修改Wiimote Whiteboard应用程序。但我在C#中的经验很少。 我在EventArgs.cs中找到了这段代码 我不确切知道代码在做什么。

using System;
using System.Collections.Generic;
using System.Text;

namespace WiimoteWhiteboard
{
    //??
    public class EventArgs<T> : EventArgs
    {
        public T Value
        {
            get;
            set;
        }

        public EventArgs(T value)
            : base()
        {
            Value = value;
        }
    }
}

1 个答案:

答案 0 :(得分:1)

public class EventArgs<T> : EventArgs

这是泛型类参数<T>,因此您可以创建此类的对象,以限制使用指定的类型。您可以使用此类型作为占位符,因此您可以使用整数或字符串,以便此类可以在几乎任何操作上运行。

{
    public T Value

此处使用此泛型类型指定Value属性的类型。 如果创建对象并传递泛型类型参数,则此值只能是构造对象时传递的类型。 请注意,所有这些都是在编译时完成的,所以它不是动态的,所有类型都必须在编译时由编译器解决。

    {
        get;
        set;
    }

    public EventArgs(T value)

这是通用构造函数,您只能使用先前指定类型的值调用,以便使用new运算符创建对象。

        : base()
    {
        Value = value;
    }
}

Jite在评论中提到它可能在事件回调中用作参数,这是另一个故事,不是你问题答案的一部分。