一尘不染

“哪里T:class,new()”是什么意思?

c#

您能否向我解释where T : class, new()以下代码行的含义?

void Add<T>(T item) where T : class, new();

阅读 316

收藏
2020-05-19

共1个答案

一尘不染

那是对通用参数的约束T。它必须是class(引用类型),并且必须具有公共的无参数默认构造函数。

这意味着T不能是intfloatdoubleDateTime或任何其他struct(值类型)。

string只要具有默认构造函数或无参数构造函数,它就可以是或任何其他自定义引用类型。

2020-05-19