Teilen über


neue Einschränkung (C#-Referenz)

Die new Einschränkung gibt an, dass ein Typargument in einer generischen Klasse oder Methodendeklaration einen öffentlichen parameterlosen Konstruktor aufweisen muss. Um die new Einschränkung zu verwenden, kann der Typ nicht abstrakt sein.

Wenden Sie die new Einschränkung auf einen Typparameter an, wenn eine generische Klasse neue Instanzen des Typs erstellt, wie im folgenden Beispiel gezeigt:

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

Wenn Sie die new() Einschränkung mit anderen Einschränkungen verwenden, 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 auch das new Schlüsselwort verwenden, um eine Instanz eines Typs oder als Memberdeklarationsmodifizierer zu erstellen.

C#-Sprachspezifikation

Weitere Informationen finden Sie im Abschnitt " Type-Parametereinschränkungen " der C#-Sprachspezifikation.

Siehe auch