Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
| Tulajdonság | Érték |
|---|---|
| Szabályazonosító | CA1717 |
| Cím | Csak a FlagsAttribute enumoknak kell többes számúaknak lenniük |
| Kategória | Elnevezés |
| A javítás romboló vagy nem romboló | Szünetelés |
| Alapértelmezés szerint engedélyezve a .NET 10-ben | Nem |
| Alkalmazandó nyelvek | C# és Visual Basic |
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 jelzi a fordítóknak, hogy a felsorolást bitmezőként kell kezelni, amely lehetővé teszi a bitenkénti műveletek végrehajtását az enumeráción belül.
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 rendelkeznie kell a FlagsAttribute, és a "Days" (Napok) nevet kaphatja. 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 biztosítanak közös megjelenést a közös nyelvi futtatókörnyezetet célzó kódtárak számára. 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áció nevét alakítsa egyes számú szóra, vagy adja hozzá a következőt FlagsAttribute:
Mikor kell letiltani a figyelmeztetéseket?
Nyugodtan letilthatja a szabály figyelmeztetését, ha a név egyedi szóban ér véget.
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 api_surface beállítással konfigurálhatja, hogy a kódbázis mely részein futtassa 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
Jegyzet
Cserélje le a XXXXCAXXXX részét a vonatkozó szabály azonosítójára.
Kapcsolódó szabályok
- CA1714: A zászló típusú felsorolt típusoknak többes számú névvel kell rendelkezniük
- CA1027: Számjelek megjelölése FlagsAttribute használatával
- CA2217: Ne jelölje meg a számokat a FlagsAttribute használatával