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


CA1005: Az általános típusok túlzott paramétereinek elkerülése

Tulajdonság Érték
Szabályazonosító CA1005
Cím Kerülje a túl sok paramétert az á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

Egy külsőleg látható általános típus több mint két típusparamétersel rendelkezik.

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

Minél több típusparamétert tartalmaz egy általános típus, annál nehezebb tudni és megjegyezni, hogy az egyes típusparaméterek mit jelölnek. Ez általában nyilvánvaló egy típusparaméterrel, mint a List<T>, és bizonyos esetekben két típusparaméterrel, mint a Dictionary<TKey, TValue>. Ha kétnál több típusparaméter létezik, a nehézség túl nagy lesz a legtöbb felhasználó számára (például TooManyTypeParameters<T, K, V> C# vagy TooManyTypeParameters(Of T, K, V) Visual Basic esetén).

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

A szabály megsértésének kijavításához módosítsa úgy a kialakítást, hogy legfeljebb két típusparamétert használjon.

Mikor kell letiltani a figyelmeztetéseket?

Ne tiltsa le a szabály figyelmeztetését, kivéve, ha a kialakításhoz kétnál több típusparaméterre van szükség. 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 CA1005
// The code that's violating the rule is on this line.
#pragma warning restore CA1005

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.CA1005.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 ehhez a szabályhoz, az összes szabályhoz, vagy az ebben a kategóriában (Tervezés) szereplő összes szabályhoz, 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

CA1010: A gyűjteményeknek általános felületet kell implementálniuk

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

CA1002: Ne tegye közzé az általános listákat

CA1003: Általános eseménykezelő példányok használata

Kapcsolódó információk