C# &引用;其中T:X,new();或;其中T:new(),X";?

C# &引用;其中T:X,new();或;其中T:new(),X";?,c#,linq,generics,generic-programming,C#,Linq,Generics,Generic Programming,以下两种泛型方法的区别是什么?在第一种方法中,new()是先写的,Book是最后写的,反之亦然 public static void Save<T>(T target) where T : new(), Book { .... } publicstaticvoidsave(T目标),其中T:new(),Book { .... } 及 publicstaticvoidsave(T目标),其中T:Book,new() { .... } 其中Book是一个自定义类。区别在于第一

以下两种泛型方法的区别是什么?在第一种方法中,new()是先写的,Book是最后写的,反之亦然

public static void Save<T>(T target) where T : new(), Book
{
   ....
}
publicstaticvoidsave(T目标),其中T:new(),Book
{
....
}

publicstaticvoidsave(T目标),其中T:Book,new()
{
....
}

其中Book是一个自定义类。

区别在于第一个类没有编译

发件人:

其中T:new()
类型参数必须具有公共无参数构造函数与其他约束一起使用时,必须最后指定new()约束。


区别在于第一个没有编译

发件人:

其中T:new()
类型参数必须具有公共无参数构造函数与其他约束一起使用时,必须最后指定new()约束。

public static void Save<T>(T target) where T : Book, new()
{
   ....
}