在这个类签名中T表示什么,如何实例化这个类
本文关键字:实例化 什么 表示 | 更新日期: 2023-09-27 18:17:46
当我的教授在度假时,我正在为他看一些代码,我遇到了这个未引用的类。有人能解释一下T代表什么,以及如何实例化这样的类吗?
public class RowToObject<T> where T : new()
T
是任何具有公共无参数构造函数的对象,受以下约束:
where T : new()
T
提供一个具有公共无参数构造函数的类型:
var myRowToObject = new RowToObject<AnotherClass>();
至于它打算如何在你的代码库中使用,我不知道!: -)
RowToObject是一个泛型类,它接受一个type - in参数。此类型由T标识,约束(T: new())强制要求此类型必须有默认构造函数。
更多约束
这是Generic
类。它采用尖括号内的类型,如RowToObject<SomeType>
。Where
位就像一个过滤器,规定传入的类型必须有一个没有参数的公共构造函数。
谁能解释一下T代表什么,可能的话怎么做像这样实例化一个类?
T is Type
RowToObject<int> Example = new RowToObject<int>();
你真的应该看看你的课堂笔记来理解我的答案。
这是如何声明一个类是否将是泛型的。虽然T将接受任何类,但不要被Type类所迷惑,语法使用T
假设RowToObject有一个无参数构造函数,您可以像这样实例化它:
new RowToObject<object>();
T意味着你可以把任何类放在那里,满足System.Object
所具有的"具有无参数构造函数"的标准。
尽管可能需要一个不同的对象。这取决于如何使用类。