Strukturált mezők írhatóvá tétele (IDE0064)
Tulajdonság | Érték |
---|---|
Szabályazonosító | IDE0064 |
Cím | Strukturált mezők írhatóvá tétele |
Kategória | CodeQuality |
Alkategória | Nyelvi szabályok (módosító beállítások) |
Alkalmazandó nyelvek | C# |
Áttekintés
Ez a szabály észleli azokat a szerkezeteket, amelyek egy vagy több readonly
mezőt tartalmaznak, és a konstruktoron kívüli hozzárendelést this
is tartalmaznak. A szabály azt javasolja, hogy a mezőket csak nem olvashatóvá, azaz írhatóvá alakítsa readonly
. Az ilyen strukturált mezők readonly
megjelölése váratlan viselkedéshez vezethet, mivel a mezőhöz rendelt érték megváltozhat, ha this
a konstruktoron kívül van hozzárendelve.
Beállítások
Ez a szabály nem rendelkezik társított kódstílus-beállításokkal.
Példa
// Code with violations
struct MyStruct
{
public readonly int Value;
public MyStruct(int value)
{
Value = value;
}
public void Test()
{
this = new MyStruct(5);
}
}
// Fixed code
struct MyStruct
{
public int Value;
public MyStruct(int value)
{
Value = value;
}
public void Test()
{
this = new MyStruct(5);
}
}
Figyelmeztetés mellőzése
Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozói irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.
#pragma warning disable IDE0064
// The code that's violating the rule is on this line.
#pragma warning restore IDE0064
Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa a súlyosságát none
a konfigurációs fájlban.
[*.{cs,vb}]
dotnet_diagnostic.IDE0064.severity = none
A teljes szabálykategória letiltásához állítsa a kategória súlyosságát none
a konfigurációs fájlban.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
További információ: Kódelemzési figyelmeztetések mellőzése.
Lásd még
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: