共用方式為


CA2226:運算子應該有對稱的多載

型別名稱

OperatorsShouldHaveSymmetricalOverloads

CheckId

CA2226

分類

Microsoft.Usage

中斷變更

不中斷

原因

型別實作等號比較運算子或不等比較運算子,但未實作相反的運算子。

規則描述

在所有情況下,只要等號比較運算子或不等比較運算子可以套用到型別的執行個體,就必須定義相反的運算子。通常型別實作不等比較運算子的方式是傳回與等號比較運算子相反的值。

C# 編譯器會產生違反此規則的錯誤。

如何修正違規

若要修正此規則的違規情形,請同時實作等號比較運算子和不等比較運算子,或移除現有的運算子。

隱藏警告的時機

請勿隱藏此規則的警告。如果您的型別與 .NET Framework 一致,就會無法運作。

相關規則

CA1046:請勿多載參考類型上的等號比較運算子

CA2225:運算子多載必須有具名的替代方法

CA2224:多載等號比較運算子時必須一併覆寫 Equals

CA2218:覆寫 Equals 時必須一併覆寫 GetHashCode

CA2231:覆寫 ValueType.Equals 時必須一併多載等號比較運算子