fad*_*ini 8 c# generics instantiation
C#中非常基本的问题,
class Data<T>
{
T obj;
public Data()
{
// Allocate to obj from T here
// Some Activator.CreateInstance() method ?
obj = ???
}
}
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
Sta*_* R. 20
如果要创建自己的T实例,则需要定义约束 new()
class Data<T> where T: new()
{
T obj;
public Data()
{
obj = new T();
}
}
Run Code Online (Sandbox Code Playgroud)
如果你想传入obj,那么你需要在构造函数中允许它
class Data<T>
{
T obj;
public Data(T val)
{
obj = val;
}
}
Run Code Online (Sandbox Code Playgroud)