閱讀英文

共用方式為


編譯器錯誤 CS0216

運算子 'operator' 的配對運算子 'missing_operator' 也需要定義

使用者定義的 == 運算子需要使用者定義的 != 運算子,反之亦然。
這也適用於使用者定義的 true 運算子和使用者定義的 false 運算子。

下列範例會產生 CS0216:

// CS0216.cs  
class MyClass  
{  
   public static bool operator == (MyClass MyIntLeft, MyClass MyIntRight)   // CS0216  
   {  
      return MyIntLeft == MyIntRight;  
   }  
  
   // to resolve, uncomment the following operator definition  
   /*  
   public static bool operator != (MyClass MyIntLeft, MyClass MyIntRight)  
   {  
      return MyIntLeft != MyIntRight;  
   }  
   */  
  
   public override bool Equals (object obj)  
   {  
      return base.Equals (obj);  
   }  
  
   public override int GetHashCode()  
   {  
      return base.GetHashCode();  
   }  
  
   public static void Main()  
   {  
   }  
}