條件 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# 語言規格的 Type 參數條件約束一節。