Compilerfehler CS0218
Aktualisiert: November 2007
Fehlermeldung
Der Typ ("Typ") muss Deklarationen des True- und des False-Operators enthalten.
The type ('type') must contain declarations of operator true and operator false
Wenn Sie einen Operator für einen benutzerdefinierten Typ definieren und anschließend versuchen, den Operator als Kurzschlussoperator zu verwenden, müssen true-Operator und false-Operator für den benutzerdefinierten Operator definiert sein. Weitere Informationen zu Kurzschlussoperatoren finden Sie unter Operator && und Operator ||.
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
}
}