演算子は対称的な方法でオーバーロードします
更新 : 2007 年 11 月
TypeName |
OperatorsShouldHaveSymmetricalOverloads |
CheckId |
CA2226 |
カテゴリ |
Microsoft.Usage |
互換性に影響する変更点 |
なし |
原因
型で等値演算子または非等値演算子を実装し、逆の働きをする演算子を実装していません。
規則の説明
等値演算子または非等値演算子が型のインスタンスに適用できて、逆の働きをする演算子が定義されない、という状況はありません。一般に、非等値演算子は、等値演算子の否定値を返すことで実装します。
C# コンパイラでは、この規則違反に対してエラーを発行します。
違反の修正方法
この規則違反を修正するには、等値演算子と非等値演算子の両方を実装するか、一方しか実装されていない演算子を削除します。
警告を抑制する状況
この規則による警告は抑制しないでください。型が、.NET Framework と整合性を取る方法では機能しなくなります。
関連規則
等値演算子のオーバーロードに equals をオーバーライドします