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
Kapcsolódó szabályok
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
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: