Compilerfehler CS0218
Der Typ ('Typ') muss Deklarationen des True- und des False-Operators enthalten.
Wenn ein benutzerdefinierter Typ den &-Operator oder den |-Operator überlädt, muss er auch die Operatoren TRUE und FALSE definieren, damit auch die Kurzschlussoperatoren &&-Operator oder ||-Operator definiert sind.
Im folgenden Beispiel wird CS0218 generiert:
// CS0218.cs
using System;
public class MyClass
{
// uncomment these operator declarations to resolve this CS0218
/*
public static bool operator true (MyClass f)
{
return false;
}
public static bool operator false (MyClass f)
{
return false;
}
*/
public static implicit operator int(MyClass x)
{
return 0;
}
public static MyClass operator & (MyClass f1, MyClass f2)
{
return new MyClass();
}
public static void Main()
{
MyClass f = new MyClass();
int i = f && f; // CS0218, requires operators true and false
}
}
Siehe auch
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.