Megosztás a következőn keresztül:


CA2226: Az operátoroknak szimmetrikus túlterhelésekkel kell rendelkezniük

Tulajdonság Érték
Szabályazonosító CA2226
Cím Az operátoroknak szimmetrikus túlterhelésekkel kell rendelkezniük
Kategória Használat
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve a .NET 8-ban Nem

Ok

Egy típus megvalósítja az egyenlőségi vagy egyenlőtlenségi operátort, és nem valósítja meg az ellenkező operátort.

Ez a szabály alapértelmezés szerint csak külsőleg látható típusokat tekint meg, de ez konfigurálható.

Szabály leírása

Nincs olyan körülmény, amely esetén az egyenlőség vagy az egyenlőtlenség alkalmazható egy típuspéldányra, és az ellenkező operátor nincs meghatározva. A típusok általában az egyenlőségi operátor negatív értékének visszaadásával valósítják meg az egyenlőtlenségi operátort.

A C#-fordító hibát ad ki a szabály megsértése esetén.

Szabálysértések kijavítása

A szabály megsértésének kijavításához hajtsa végre az egyenlőségi és az egyenlőtlenségi operátorokat, vagy távolítsa el a meglévőt.

Mikor kell letiltani a figyelmeztetéseket?

Ne tiltsa el a szabály figyelmeztetését. Ha így tesz, a típus nem fog a .NET-nek megfelelő módon működni.

Kód konfigurálása elemzéshez

A következő beállítással konfigurálhatja, hogy a kódbázis mely részein futtassa ezt a szabályt.

Ezt a beállítást konfigurálhatja csak erre a szabályra, az összes szabályra, vagy az ebben a kategóriában (Használat) érvényes összes szabályra. További információ: Kódminőségi szabály konfigurációs beállításai.

Adott API-felületek belefoglalása

A kódbázis azon részeit konfigurálhatja, amelyeken futtathatja ezt a szabályt az akadálymentességük alapján. Ha például meg szeretné adni, hogy a szabály csak a nem nyilvános API-felületen fusson, adja hozzá a következő kulcs-érték párot a projekt egyik .editorconfig fájljához:

dotnet_code_quality.CAXXXX.api_surface = private, internal