英語で読む

次の方法で共有


コンパイラ エラー 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()  
   {  
   }  
}