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