CA1805: Ne inicializálja feleslegesen
Tulajdonság | Érték |
---|---|
Szabályazonosító | CA1805 |
Cím | Ne inicializálja feleslegesen |
Kategória | Teljesítmény |
A javítás kompatibilitástörő vagy nem törik | Nem törés |
Alapértelmezés szerint engedélyezve a .NET 8-ban | Nem |
Ok
Az osztály mezői explicit módon inicializálva lesznek az adott mező típusának alapértelmezett értékére.
Szabály leírása
A .NET-futtatókörnyezet a konstruktor futtatása előtt inicializálja a referenciatípusok összes mezőjét az alapértelmezett értékükre. A legtöbb esetben egy mező explicit inicializálása a konstruktor alapértelmezett értékére redundáns, karbantartási költségekkel és potenciálisan romló teljesítménnyel (például nagyobb szerelvénymérettel), és a explicit inicializálás eltávolítható.
Szabálysértések kijavítása
A legtöbb esetben a megfelelő javítás a szükségtelen inicializálás törlése.
class C
{
// Violation
int _value1 = 0;
// Fixed
int _value1;
}
Bizonyos esetekben az inicializálás törlése későbbi CS0649-figyelmeztetéseket eredményezhet, mivel a mező örökre megőrzi alapértelmezett értékét. Ilyen esetekben jobb megoldás lehet a mező teljes törlése vagy egy tulajdonságra való lecserélése:
class C
{
// Violation
private static readonly int s_value = 0;
// Fixed
private static int Value => 0;
}
Mikor kell letiltani a figyelmeztetéseket?
A figyelmeztetés mindig biztonságos, mivel a figyelmeztetés egyszerűen kiemeli a potenciálisan szükségtelen kódot és az esetlegesen elkerülhető munká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 CA1805
// The code that's violating the rule is on this line.
#pragma warning restore CA1805
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.CA1805.severity = none
További információ: Kódelemzési figyelmeztetések letiltása.
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: