Share via


CA1000: Ne deklarálja a statikus tagokat általános típusok esetében

Tulajdonság Érték
Szabályazonosító CA1000
Cím Ne deklarálja a statikus tagokat általános típusok esetében
Kategória Design
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 általános típus tartalmaz egy (SharedVisual Basic)-tagot static .

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

Amikor egy általános típus egy static tagját meghívja, a típus argumentumát meg kell adni a típushoz. Ha olyan általános példánytagot hív meg, amely nem támogatja a következtetést, a típusargumentumot meg kell adni a tag számára. A típusargumentum megadásának szintaxisa ebben a két esetben eltérő és könnyen összekeverhető, ahogy az alábbi hívások is szemléltetik:

' Shared method in a generic type.
GenericType(Of Integer).SharedMethod()

' Generic instance method that does not support inference.
someObject.GenericMethod(Of Integer)()
// Static method in a generic type.
GenericType<int>.StaticMethod();

// Generic instance method that does not support inference.
someObject.GenericMethod<int>();

Általában mindkét korábbi deklarációt el kell kerülni, hogy a típusargumentumot ne kelljen megadni a tag meghívásakor. Ez egy szintaxist eredményez a tagok általánosakban való meghívásához, amely nem különbözik a nem általánosak szintaxisától.

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

A szabály megsértésének kijavításához távolítsa el a statikus tagot, vagy módosítsa egy példánytagra.

Mikor kell letiltani a figyelmeztetéseket?

Ne tiltsa el a szabály figyelmeztetését. A könnyen érthető és használható szintaxisban szereplő általános értékek használata csökkenti a tanuláshoz szükséges időt, és növeli az új kódtárak bevezetési arányá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 CA1000
// The code that's violating the rule is on this line.
#pragma warning restore CA1000

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.CA1000.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 (Tervezés) é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

Kapcsolódó információk