CA1720: Az azonosítók nem tartalmazhatnak típusneveket
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA1720 |
Cím | Az azonosítók nem tartalmazhatnak típusneveket |
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
Egy tag paraméterének neve egy adattípus nevét tartalmazza.
-vagy-
A tag neve egy nyelvspecifikus adattípusnevet tartalmaz.
Ez a szabály alapértelmezés szerint csak külsőleg látható tagokat tekint meg, de ez konfigurálható.
Szabály leírása
A paraméterek és tagok nevei jobban használhatók jelentésük közlésére, mint típusuk leírására, amelyet várhatóan a fejlesztői eszközök fognak megadni. A tagok neveinél, ha adattípusnevet kell használni, nyelvspecifikus név helyett használjon nyelvfüggetlen nevet. A C# típusnév int
helyett például használja a nyelvfüggetlen adattípus nevét. Int32
A paraméter vagy tag nevében szereplő különálló jogkivonatokat a rendszer a következő nyelvspecifikus adattípusnevek alapján ellenőrzi a kis- és nagybetűk megkülönböztetése érdekében:
- Bool
- WChar
- Int8
- UInt8
- Rövid
- UShort
- Int
- UInt
- Integer
- UInteger
- Long
- ULong
- Aláíratlan
- Aláírt
- Lebegőpontos értékek
- Float32
- Float64
Emellett a paraméter nevei a következő nyelvfüggetlen adattípusneveken is ellenőrizve vannak, kis- és nagybetűk megkülönböztetése esetén:
- Object
- Boolean
- Char
- Sztring
- SByte
- Bájt
- UByte
- Int16
- UInt16
- Int32
- UInt32
- Int64
- UInt64
- IntPtr
- Ptr
- Mutató
- UInptr
- UPtr
- UPointer
- Egyszeres
- Dupla
- Tizedesjegy
- GUID
Szabálysértések kijavítása
Ha egy paraméterrel aktiválva van:
Cserélje le a paraméter nevében szereplő adattípus-azonosítót egy olyan kifejezésre, amely jobban leírja a jelentését, vagy egy általánosabb kifejezésre, például az "értékre".
Ha egy tag ellen aktiválódott:
Cserélje le a tag nevében a nyelvspecifikus adattípus-azonosítót egy olyan kifejezésre, amely jobban leírja a jelentését, egy nyelvfüggetlen megfelelőt vagy egy általánosabb kifejezést, például az "értéket".
Mikor kell letiltani a figyelmeztetéseket?
A típusalapú paraméter és a tagnevek esetenkénti használata megfelelő lehet. Új fejlesztés esetén azonban nem fordulnak elő olyan ismert forgatókönyvek, ahol el kellene tiltanod a szabály figyelmeztetését. A korábban kiszállított kódtárak esetében előfordulhat, hogy el kell tiltani a szabály figyelmeztetését.
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 CA1720
// The code that's violating the rule is on this line.
#pragma warning restore CA1720
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.CA1720.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