編譯器錯誤 CS0451
new()' 條件約束不能和 'struct' 條件約束一起使用
指定泛型類型的條件約束時, new()
條件約束只能與類別類型條件約束、介面類型條件約束、參考類型條件約束和類型參數條件約束一起使用,而不是與實值類型條件約束一起使用。
下列範例會產生 CS0451:
// CS0451.cs
using System;
public class C4
{
public void F4<T>() where T : struct, new() {} // CS0451
}
// OK
public class C5
{
public void F5<T>() where T : struct {}
}
public class C6
{
public void F6<T>() where T : new() {}
}