new-Einschränkung (C#-Referenz)
Die new
-Beschränkung legt fest, dass ein Typargument in einer generischen Klassen- oder Methodendeklaration einen öffentlichen parameterlosen Konstruktor haben muss. Der Typ kann nicht abstrakt sein, um die new
-Einschränkung zu verwenden.
Wenden Sie die new
-Einschränkung auf einen Typparameter an, wenn Ihre generische Klasse neue Instanzen desselben Typs erstellt, wie im folgenden Beispiel gezeigt wird:
class ItemFactory<T> where T : new()
{
public T GetNewItem()
{
return new T();
}
}
Beim Verwenden der new()
-Einschränkung mit anderen Einschränkungen muss sie zuletzt angegeben werden:
public class ItemFactory2<T>
where T : IComparable, new()
{ }
Weitere Informationen finden Sie unter Einschränkungen für Typparameter.
Sie können das Schlüsselwort new
auch verwenden, um eine Instanz eines Typs zu erstellen oder als Memberdeklarationsmodifizierer.
C#-Sprachspezifikation
Weitere Informationen finden Sie im Abschnitt Einschränkungen für Typparameter der C#-Sprachspezifikation.