Udostępnij za pośrednictwem


CA2226: Podmioty gospodarcze powinny mieć overloads symetryczne

TypeName

OperatorsShouldHaveSymmetricalOverloads

CheckId

CA2226

Kategoria

Microsoft.Usage

Zmiana kluczowa

Niekluczowa

Przyczyna

Typ implementuje operator równości lub nierówności, ale nie implementuje operatora przeciwnego.

Opis reguły

Nie występują okoliczności, w których równość lub nierówność jest stosowana do wystąpień typu i przeciwny operator jest niezdefiniowany.Typy zazwyczaj implementują operator nierówności przez zwrócenie zanegowanej wartości operatora równości.

Kompilator C# zgłasza błąd naruszenia tej reguły.

Jak naprawić naruszenia

Aby naprawić naruszenie tej zasady, należy zaimplementować operatory równości i nierówności lub usunąć ten, który jest obecny.

Kiedy pominąć ostrzeżenia

Nie pomijaj ostrzeżeń dla tej reguły.Typ nie będzie działać w sposób zgodny z .NET Framework.

Powiązane reguły

CA1046: Nie obciążając operator równości na typy odwołań

CA2225: Operator overloads nazwaną zastępcy

CA2224: Zastępowanie jest równe na przeciążanie operatora równości

CA2218: Zastępowanie GetHashCode na zastępowanie równa się

CA2231: Operator przeciążenie jest równe na przesłanianie ValueType.Equals