閱讀英文

共用方式為


編譯器錯誤 CS0218

類型 ('type') 必須包含運算子 true 和運算子 false 的宣告

如果使用者定義型別多載 & 運算子| 運算子,則它也必須定義 true and false 運算子,才能定義最少運算的 && 運算子|| 運算子

下列範例會產生 CS0218:

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

另請參閱