我正在度假时看着我教授的一些代码,我遇到了这个没有参考的课程。有人可以解释一下T代表什么以及可能如何实例化这样的类吗?
public class RowToObject<T> where T : new()
答案 0 :(得分:6)
T
是公共无参数构造函数的约束条件:
where T : new()
要实例化它,请为T
提供一个具有公共无参数构造函数的类型:
var myRowToObject = new RowToObject<AnotherClass>();
至于如何在你的代码库中使用它,不知道! : - )
答案 1 :(得分:4)
RowToObject是一个泛型类,它在参数中使用一个类型。此类型由T标识,约束(T:new())强制此类型必须具有默认构造函数。
答案 2 :(得分:1)
这是Generic
课程。它需要像RowToObject<SomeType>
这样的角括号内的类型。 Where
位就像一个过滤器,它说传入的类型必须有一个没有参数的公共构造函数。
答案 3 :(得分:1)
假设RowToObject有一个无参数构造函数,你可以实例化它:
new RowToObject<object>();
T意味着您可以在其中放置任何满足System.Object
具有“无参数构造函数”标准的类。
虽然可能需要不同的对象。这取决于课程的使用方式。
答案 4 :(得分:1)
有人可以解释一下T代表的内容以及可能的内容 实例化一个这样的类?
T 是类型
RowToObject<int> Example = new RowToObject<int>();
你真的应该查看你的课堂笔记,以了解我的答案。
这是你如何声明一个类是否通用的方式。虽然 T 会接受任何类,但不要被 Type 类混淆,有一个原因(我无法解释)语法使用 T 强>