Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Aktualisiert: November 2007
Fehlermeldung
Der Rückgabetyp für die Operatoren "++" oder "--" muss der enthaltende Typ sein oder vom enthaltenden Typ abgeleitet sein.
The return type for ++ or -- operator must be the containing type or derived from the containing type
Wenn Sie die Operatoren ++ oder -- überschreiben, müssen diese denselben Typ zurückgeben wie der enthaltende Typ, oder sie müssen einen Typ zurückgeben, der vom enthaltenden Typ abgeleitet wurde.
Beispiel
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() {}
}
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() {}
}