C# 这个类签名中不代表什么,我如何实例化这个类?

C# 这个类签名中不代表什么,我如何实例化这个类?,c#,C#,当我的教授休假时,我正在看他的一些代码,我遇到了这个没有参考的班级。有人能解释一下T代表什么,以及如何实例化这样的类吗 public class RowToObject<T> where T : new() public类RowToObject其中T:new() RowToObject是一个泛型类,它接受一个输入参数。此类型由T标识,并且约束(T:new())强制此类型必须具有默认构造函数 T是任何具有公共无参数构造函数的对象,受以下约束: 其中T:new() 要实例化它,请为T提

当我的教授休假时,我正在看他的一些代码,我遇到了这个没有参考的班级。有人能解释一下T代表什么,以及如何实例化这样的类吗

public class RowToObject<T> where T : new()
public类RowToObject其中T:new()

RowToObject是一个泛型类,它接受一个输入参数。此类型由T标识,并且约束(T:new())强制此类型必须具有默认构造函数


T
是任何具有公共无参数构造函数的对象,受以下约束:

其中T:new()

要实例化它,请为
T
提供一个具有公共无参数构造函数的类型:

var myRowToObject=new RowToObject()


至于如何在代码库中使用它,不知道!:-)

这是一个
通用
类。它采用尖括号内的类型,如
RowToObject
,其中
位的作用类似于一个过滤器,表示传入的类型必须有一个没有参数的公共构造函数。

假定RowToObject有一个无参数构造函数,您可以将其实例化如下:

new RowToObject<object>();
newrowtoobject();
T表示可以在其中放入满足“hasaparameterlessconstructor”标准的任何类,而
System.Object
具有该标准

尽管可能需要一个不同的对象。这将取决于类的使用方式

有人能解释一下T代表什么,以及如何表达吗 实例化这样的类

public class RowToObject<T> where T : new()
T类型

RowToObject<int> Example = new RowToObject<int>();
RowToObject示例=新建RowToObject();
你真的应该看看你的课堂笔记来理解我的答案


这就是如何声明类是否将是泛型的。虽然T将接受任何类,但不要被类型类混淆,语法使用T

有一个原因(我无法解释),您可以发布该类的更多内容吗?@Sign-提供的代码已经足够了。这是一个简单的语法问题。@Adamhuldsworth-我确实提供了一个。这只是因为我碰巧在没有空格的情况下做了,而你声称存在的无参数构造函数返回了什么字符串?@EricLippert-doh!我应该从头顶上挑一个更好的东西。更新。