Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
| Eigenschap | Waarde |
|---|---|
| Regel-id | CA2226 |
| Titel | Operators moeten symmetrische overbelastingen hebben |
| Categorie | Gebruik |
| Fix kan brekend of niet-brekend zijn | Niet-brekend |
| Standaard ingeschakeld in .NET 10 | Nee |
| Toepasselijke talen | C# en Visual Basic |
Oorzaak
Een type implementeert de gelijkheids- of ongelijkheidsoperator en implementeert niet de tegenovergestelde operator.
Deze regel kijkt standaard alleen naar extern zichtbare typen, maar dit kan worden geconfigureerd.
Beschrijving van regel
Er zijn geen omstandigheden waarin gelijkheid of ongelijkheid van toepassing is op instanties van een type en de tegenovergestelde operator niet is gedefinieerd. Typen implementeren doorgaans de ongelijkheidsoperator door de negatieve waarde van de gelijkheidsoperator te retourneren.
De C#-compiler geeft een fout op voor schendingen van deze regel.
Hoe schendingen op te lossen
Als u een schending van deze regel wilt oplossen, implementeer dan zowel de gelijkheids- als de ongelijkheidsoperatoren, of verwijder de aanwezige operator.
Wanneer waarschuwingen onderdrukken
Een waarschuwing van deze regel niet onderdrukken. Als u dit doet, werkt uw type niet op een manier die consistent is met .NET.
Code configureren om te analyseren
Gebruik de volgende optie om te configureren op welke onderdelen van uw codebase deze regel moet worden uitgevoerd.
U kunt deze optie configureren voor alleen deze regel, voor alle regels waarop deze van toepassing is, of voor alle regels in deze categorie (gebruik) waarop deze van toepassing is. Zie de configuratieopties voor de codekwaliteitsregel voor meer informatie.
Specifieke API-oppervlakken opnemen
U kunt configureren op welke onderdelen van uw codebase deze regel moet worden uitgevoerd, op basis van hun toegankelijkheid, door de optie api_surface in te stellen. Als u bijvoorbeeld wilt opgeven dat de regel alleen moet worden uitgevoerd op het niet-openbare API-oppervlak, voegt u het volgende sleutel-waardepaar toe aan een .editorconfig-bestand in uw project:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Notitie
Vervang het XXXX deel van CAXXXX door de id van de toepasselijke regel.