Freigeben über


Compilerfehler CS0451

Aktualisiert: November 2007

Fehlermeldung

Die new()-Einschränkung kann nicht mit der struct-Einschränkung verwendet werden.
The 'new()' constraint cannot be used with the 'struct' constraint

Beim Angeben von Einschränkungen für den Typ einer generischen Variable darf die new()-Einschränkung nur mit Klassentypen-, Schnittstellentypen- und Referenztypeneinschränkungen sowie mit Typparametereinschränkungen verwendet werden, jedoch nicht mit Werttypeinschränkungen.

Beispiel

Im folgenden Beispiel wird CS0451 generiert.

// CS0451.cs
using System;
public class C4 
{
   public void F4<T>() where T : struct, new() {}   // CS0451
}

// OK
public class C5
{
   public void F5<T>() where T : struct {}
}

public class C6
{
   public void F6<T>() where T : new() {}
}