new 條件約束 (C# 參考)

new 條件約束指定泛型類別或方法宣告中的型別引數,都必須有公用無參數建構函式。 若要使用 new 條件約束,型別不能為抽象。

當泛型類別建立新的型別執行個體時,將 new 條件約束套用至型別參數,如下列範例所示:

class ItemFactory<T> where T : new()
{
    public T GetNewItem()
    {
        return new T();
    }
}

當您使用 new() 條件約束與其他條件約束時,它必須是最後一個指定的︰

public class ItemFactory2<T>
    where T : IComparable, new()
{  }

如需詳細資訊,請參閱型別參數的條件約束

您也可以使用 new 關鍵字來建立型別的執行個體或作為成員宣告修飾詞

C# 語言規格

如需詳細資訊,請參閱 C# 語言規格中的型別參數條件約束一節。

另請參閱