编译器错误 CS0401
new() 约束必须是指定的最后一个限制性约束
当使用多个约束时,将在 new () 约束之前列出所有其他约束。
下面的示例生成 CS0401。
C#
// CS0401.cs
// compile with: /target:library
using System;
class C<T> where T : new(), IDisposable {} // CS0401
class D<T> where T : IDisposable
{
static void F<U>() where U : new(), IDisposable{} // CS0401
}