nowe ograniczenie (C# odwołanie)new constraint (C# Reference)

Ograniczenie new określa, że argument typu w deklaracji klasy ogólnej musi mieć publiczny Konstruktor bez parametrów.The new constraint specifies that a type argument in a generic class declaration must have a public parameterless constructor. Aby użyć ograniczenia new, typ nie może być abstrakcyjny.To use the new constraint, the type cannot be abstract.

Zastosuj ograniczenie new do parametru typu, gdy Klasa ogólna tworzy nowe wystąpienia typu, jak pokazano w następującym przykładzie:Apply the new constraint to a type parameter when a 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();
    }
}

W przypadku użycia ograniczenia new() z innymi ograniczeniami należy określić wartość Last:When you use the new() constraint with other constraints, it must be specified last:

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

Aby uzyskać więcej informacji, zobacz ograniczenia dotyczące parametrów typu.For more information, see Constraints on Type Parameters.

Można również użyć słowa kluczowego new, aby utworzyć wystąpienie typu lub jako modyfikator deklaracji składowej.You can also use the new keyword to create an instance of a type or as a member declaration modifier.

specyfikacja języka C#C# language specification

Aby uzyskać więcej informacji, zobacz sekcję ograniczenia parametrów typu C# specyfikacji języka.For more information, see the Type parameter constraints section of the C# language specification.

Zobacz takżeSee also