标签: c# linq generics generic-programming
以下两种通用方法之间有什么区别,第一种方法首先写入new(),最后写入Book,反之亦然。
public static void Save<T>(T target) where T : new(), Book { .... }
和
public static void Save<T>(T target) where T : Book, new() { .... }
其中Book是自定义类。
答案 0 :(得分:15)
区别在于第一个不编译。
来自MSDN:
where T : new() type参数必须具有公共无参数构造函数。 与其他约束一起使用时,必须最后指定new()约束。
where T : new()