Compilerfehler CS0449
Die class- oder struct-Einschränkung muss vor allen anderen Einschränkungen stehen.
Die Typparametereinschränkungen eines generischen Typs oder einer generischen Methode müssen in einer bestimmten Reihenfolge auftreten: zuerst class
oder struct
(falls vorhanden), dann beliebige Schnittstelleneinschränkungen und zuletzt beliebige Konstruktoreinschränkungen. Dieser Fehler wird dadurch verursacht, dass die class
- oder struct
-Einschränkung nicht an erster Stelle steht. Um diesen Fehler zu beheben, ändern Sie die Reihenfolge der Einschränkungsklauseln.
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 {}
}