Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
| Ingatlan | É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) |
| Alkalmazható nyelvek | C# |
Áttekintés
Ez a szabály észleli azokat a szerkezeteket, amelyek egy vagy több readonly mezőt tartalmaznak, valamint a konstruktoron kívüli this hozzárendelését is tartalmazzák. A szabály azt javasolja, hogy a readonly mezőket alakítsuk át nem csak olvashatóvá, azaz írható állapotúvá. Az ilyen strukturált mezők readonly ként való 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ási 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 annak 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 letiltása.