我尝试为我的最终项目修改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;
}
}
}
答案 0 :(得分:1)
public class EventArgs<T> : EventArgs
这是泛型类参数<T>
,因此您可以创建此类的对象,以限制使用指定的类型。您可以使用此类型作为占位符,因此您可以使用整数或字符串,以便此类可以在几乎任何操作上运行。
{
public T Value
此处使用此泛型类型指定Value属性的类型。 如果创建对象并传递泛型类型参数,则此值只能是构造对象时传递的类型。 请注意,所有这些都是在编译时完成的,所以它不是动态的,所有类型都必须在编译时由编译器解决。
{
get;
set;
}
public EventArgs(T value)
这是通用构造函数,您只能使用先前指定类型的值调用,以便使用new
运算符创建对象。
: base()
{
Value = value;
}
}
Jite在评论中提到它可能在事件回调中用作参数,这是另一个故事,不是你问题答案的一部分。