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


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 inthelyett 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