我定义了一个泛型
public static List<T> convertToList<T>(DataTable dt) where T : new()
做了泛型约束,
然后 prodInfoList = ConvertHelper.convertToList<ErpProdInfoSchema>(dt)
public class ErpProdInfoSchema
{
private string _prodClass = string.Empty;
private string _title = string.Empty;
private string _prodNo = string.Empty;
}
我想问的是:泛型约束 where T:new()不是要求T必须具有无参的构造函数吗?
我的类ErpProdInfoSchema没有定义构造函数,为什么可以成功呢?
类中定义的不是字段;是属性,忘了贴了
private string _prodClass = string.Empty;
public string prodClass
get
{
return _prodClass;
}
set
{
_prodClass=value;
}
不用貌似..随便淘宝买本语法书.讲到构造函数都会告诉你.当你没有声明构造函数时类会有一个默认构造函数.
貌似是没有写的话会默认的给你一个无参的构造函数