Sdílet prostřednictvím


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
   }
}

Siehe auch

Referenz

Konvertierungsoperatoren (C#-Programmierhandbuch)