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


CA1717: Csak flagsAttribute enumerálásnak kell többes számú névvel rendelkeznie

Tulajdonság Érték
Szabályazonosító CA1717
Cím Csak a FlagsAttribute enumerálásnak kell többes számokkal rendelkeznie
Kategória Elnevezés
A javítás kompatibilitástörő vagy nem törik Törés
Alapértelmezés szerint engedélyezve a .NET 8-ban Nem

Ok

Az enumerálás neve többes szóra végződik, és az enumerálás nincs megjelölve az System.FlagsAttribute attribútummal.

Alapértelmezés szerint ez a szabály csak külsőleg látható enumerálásokat tekint meg, de ez konfigurálható.

Szabály leírása

Az elnevezési konvenciók azt diktálják, hogy az enumerálás többes számú neve azt jelzi, hogy az enumerálás több értéke is megadható egyszerre. A FlagsAttribute fordítók azt jelzik, hogy az enumerálást bitmezőként kell kezelni, amely bitenkénti műveleteket tesz lehetővé az enumeráláson.

Ha egyszerre csak egy számbavételi érték adható meg, az enumerálás nevének egyedi szónak kell lennie. A hét napjait meghatározó enumerálás például egy olyan alkalmazásban használható, amelyben több napot is megadhat. Ennek az enumerálásnak "Days" (Napok) nevet kell adni FlagsAttribute . Egy hasonló számbavétel, amely csak egyetlen nap megadását teszi lehetővé, nem rendelkezik az attribútummal, és "Nap" néven is nevezhető.

Az elnevezési konvenciók gyakran keresik a közös nyelvi futtatókörnyezetet megcélzó kódtárakat. Ez csökkenti az új szoftvertárak megismeréséhez szükséges időt, és növeli az ügyfelek bizalmát abban, hogy a kódtárat olyan személy fejlesztette ki, aki jártas a felügyelt kód fejlesztésében.

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

Az enumerálás nevét szingular szóvá alakíthatja, vagy hozzáadhatja a következőt FlagsAttribute:

Mikor kell letiltani a figyelmeztetéseket?

Nyugodtan letilthatja a szabály figyelmeztetését, ha a név egyes szavakban végződik.

Figyelmeztetés mellőzése

Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.

#pragma warning disable CA1717
// The code that's violating the rule is on this line.
#pragma warning restore CA1717

Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none a konfigurációs fájlban.

[*.{cs,vb}]
dotnet_diagnostic.CA1717.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.

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 (elnevezés) szereplő összes szabályra, amelyekre vonatkozik. 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

Kapcsolódó információk