Share via


ny begränsning (C#-referens)

Villkoret new anger att ett typargument i en allmän klass- eller metoddeklaration måste ha en offentlig parameterlös konstruktor. Om du vill använda villkoret new kan typen inte vara abstrakt.

Tillämpa villkoret på new en typparameter när en generisk klass skapar nya instanser av typen, som du ser i följande exempel:

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

När du använder villkoret new() med andra begränsningar måste det anges sist:

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

Mer information finns i Begränsningar för typparametrar.

Du kan också använda nyckelordet new för att skapa en instans av en typ eller som en medlemsdeklarationsmodifierare.

Språkspecifikation för C#

Mer information finns i avsnittet Villkor för typparameter i C#-språkspecifikationen.

Se även