new-Einschränkung (C#-Referenz)

Die new-Einschränkung gibt an, dass ein Typargument in einer generischen Klassendeklaration über einen öffentlichen parameterlosen Konstruktor verfügen 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 new zu erstellen oder als Memberdeklarationsmodifizierer.

C#-Sprachspezifikation

Weitere Informationen finden Sie im Abschnitt Einschränkungen für Typparameter der C#-Sprachspezifikation.

Siehe auch