C# 泛型类的默认构造函数的语法是什么?
在C#中是否禁止为泛型类实现默认构造函数 如果不是,为什么下面的代码不编译?(当我删除C# 泛型类的默认构造函数的语法是什么?,c#,.net,generics,C#,.net,Generics,在C#中是否禁止为泛型类实现默认构造函数 如果不是,为什么下面的代码不编译?(当我删除时,它会编译) 那么,为泛型类定义默认构造函数的正确方法是什么 public class Cell<T> { public Cell<T>() { } } 公共类单元格 { 公共单元格() { } } 编译时错误:错误1类、结构或接口成员声明中的无效标记“(”您没有在构造函数中提供类型参数。您应该这样做 public class Cell<T>
时,它会编译)
那么,为泛型类定义默认构造函数的正确方法是什么
public class Cell<T>
{
public Cell<T>()
{
}
}
公共类单元格
{
公共单元格()
{
}
}
编译时错误:错误1类、结构或接口成员声明中的无效标记“(”您没有在构造函数中提供类型参数。您应该这样做
public class Cell<T>
{
public Cell()
{
}
}
公共类单元格
{
公共单元格()
{
}
}
如果需要该类型作为属性:
public class Cell<T>
{
public Cell()
{
TheType = typeof(T);
}
public Type TheType { get;}
}
公共类单元格
{
公共单元格()
{
类型=类型(T);
}
公共类型类型{get;}
}
如果需要注入该类型的实例:
public class Cell<T>
{
public T Thing { get; }
public Cell(T thing)
{
Thing = thing;
}
}
公共类单元格
{
公共T事物{get;}
公共小区(T物)
{
事物=事物;
}
}