在C#中是否禁止为泛型类实现默认构造函数?
如果没有,为什么下面的代码不编译?(当我删除<T>它时编译)
那么为泛型类定义默认构造函数的正确方法是什么?
public class Cell<T>
{
public Cell<T>()
{
}
}
Run Code Online (Sandbox Code Playgroud)
编译时错误:错误1无效的标记'('在类,结构或接口成员声明中
Tre*_*ley 135
您没有在构造函数中提供type参数.这就是你应该怎么做的.
public class Cell<T>
{
public Cell()
{
}
}
Run Code Online (Sandbox Code Playgroud)
如果您需要Type作为属性:
public class Cell<T>
{
public Cell()
{
TheType = typeof(T);
}
public Type TheType { get;}
}
Run Code Online (Sandbox Code Playgroud)
小智 6
如果您需要注入该类型的实例:
public class Cell<T>
{
public T Thing { get; }
public Cell(T thing)
{
Thing = thing;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40824 次 |
| 最近记录: |