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


CA2263: Az általános túlterhelés előnyben részesítve, ha ismert a típus

Érték
Szabályazonosító CA2263
Cím Általános túlterhelés előnyben részesítve, ha a típus ismert
Kategória Használat
A javítás kompatibilitástörő vagy nem törik Nem törés
Alapértelmezés szerint engedélyezve a .NET 9-ben Javaslatként

Ok

Egy argumentumot System.Type elfogadó metódust akkor hívunk meg, ha a típus fordításkor ismert, és megfelelő általános túlterhelés érhető el.

Szabály leírása

Az általános túlterhelések előnyben részesítik azokat a túlterheléseket, amelyek akkor fogadják el a típus System.Type argumentumát, ha a típus fordításkor ismert (a C# típusműveletével vagy a Visual Basic GetType operátorával). Az általános túlterhelések a hatékonyabb fordítási idő ellenőrzésével elősegítik a tisztább és a típusbiztosabb kód használatát.

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

A szabály megsértésének kijavításához használja a megfelelő általános túlterhelést.

Példa

A következő kódrészlet a CA2263 megsértését mutatja be:

int size = Marshal.SizeOf(typeof(bool));
Dim size As Integer = Marshal.SizeOf(GetType(Boolean))

A következő kódrészlet kijavítja a szabálysértést:

int size = Marshal.SizeOf<bool>();
Dim size As Integer = Marshal.SizeOf(Of Boolean)()

Mikor kell letiltani a figyelmeztetéseket?

A szabályból származó figyelmeztetéseket nyugodtan el lehet tiltani; javasoljuk azonban, hogy ha lehetséges, használjon általános túlterhelést.

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 CA2263
// The code that's violating the rule is on this line.
#pragma warning restore CA2263

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.CA2263.severity = none

További információ: Kódelemzési figyelmeztetések letiltása.