Freigeben über


Compilerfehler CS0449

Aktualisiert: November 2007

Fehlermeldung

Die class- oder struct-Einschränkung muss vor allen anderen Einschränkungen stehen
The 'class' or 'struct' constraint must come before any other constraints

Die Einschränkungen für einen Typparameter eines generischen Typs oder einer generischen Methode müssen in einer bestimmten Reihenfolge auftreten: class oder struct muss (falls vorhanden) an erster Stelle stehen, gefolgt von den Schnittstelleneinschränkungen und schließlich den Konstruktoreinschränkungen. Dieser Fehler wird dadurch verursacht, dass die class- oder struct-Einschränkung nicht an erster Stelle steht. Um diesen Fehler zu beheben, ordnen Sie die Einschränkungsklauseln neu an.

Beispiel

Im folgenden Beispiel wird CS0449 generiert.

// CS0449.cs
// compile with: /target:library
interface I {}
public class C4 
{
   public void F1<T>() where T : class, struct, I {}   // CS0449
   public void F2<T>() where T : I, struct {}   // CS0449
   public void F3<T>() where T : I, class {}   // CS0449

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