在C#中禁止为泛型类实现默认构造函数吗?
如果不是,为什么下面的代码不能编译?(当我删除<T>
时,它会编译)
那么为泛型类定义默认构造函数的正确方式是什么呢?
public class Cell<T>
{
public Cell<T>()
{
}
}
编译时错误:错误1类、结构或接口成员声明中的标记'(‘无效
发布于 2012-03-14 19:32:12
您没有在构造函数中提供type参数。这就是你应该怎么做。
public class Cell<T>
{
public Cell()
{
}
}
发布于 2016-12-09 18:25:25
如果您需要将Type作为属性:
public class Cell<T>
{
public Cell()
{
TheType = typeof(T);
}
public Type TheType { get;}
}
发布于 2018-06-10 03:34:51
如果需要注入类型的实例:
public class Cell<T>
{
public T Thing { get; }
public Cell(T thing)
{
Thing = thing;
}
}
https://stackoverflow.com/questions/9701106
复制相似问题