Compilerfehler CS0448
Der Rückgabetyp für den Operator ++ oder -- muss der enthaltende Typ sein oder vom enthaltenden Typ abgeleitet werden.
Beim Überschreiben der ++
- oder --
-Operatoren müssen Sie denselben Typ wie der enthaltende Typ zurückgeben, oder Sie geben einen Typ zurück, der vom enthaltenden Typ abgeleitet wird.
Beispiel 1
Im folgenden Beispiel wird CS0448 generiert:
// CS0448.cs
class C5
{
public static int operator ++(C5 c) { return null; } // CS0448
public static C5 operator --(C5 c) { return null; } // OK
public static void Main() {}
}
Beispiel 2
Im folgenden Beispiel wird CS0448 generiert:
// CS0448_b.cs
public struct S
{
public static S? operator ++(S s) { return new S(); } // CS0448
public static S? operator --(S s) { return new S(); } // CS0448
}
public struct T
{
// OK
public static T operator --(T t) { return new T(); }
public static T operator ++(T t) { return new T(); }
public static T? operator --(T? t) { return new T(); }
public static T? operator ++(T? t) { return new T(); }
public static void Main() {}
}
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.