new-Einschränkung (C#-Referenz)new Constraint (C# Reference)

Die new-Einschränkung gibt an, dass jedes Typargument in einer generischen Klassendeklaration über einen öffentlichen parameterlosen Konstruktor verfügen muss.The new constraint specifies that any type argument in a generic class declaration must have a public parameterless constructor. Der Typ kann nicht abstrakt sein, um die neue Einschränkung zu verwenden.To use the new constraint, the type cannot be abstract.

BeispielExample

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:Apply the new constraint to a type parameter when your generic class creates new instances of the type, as shown in the following example:

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

BeispielExample

Beim Verwenden der new()-Einschränkung mit anderen Einschränkungen muss sie zuletzt angegeben werden:When you use the new() constraint with other constraints, it must be specified last:

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

Weitere Informationen finden Sie unter Einschränkungen für Typparameter.For more information, see Constraints on Type Parameters.

C#-ProgrammiersprachenspezifikationC# Language Specification

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation.For more information, see the C# Language Specification. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.The language specification is the definitive source for C# syntax and usage.

Siehe auchSee Also

System.Collections.Generic
C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-SchlüsselwörterC# Keywords
OperatorschlüsselwörterOperator Keywords
GenerikaGenerics