Nastavení zapisovatelných polí struktury (IDE0064)
Vlastnost | Hodnota |
---|---|
ID pravidla | IDE0064 |
Název | Nastavení zapisovatelných polí struktury |
Kategorie | CodeQuality |
Subcategory | Pravidla jazyka (předvolby modifikátoru) |
Příslušné jazyky | C# |
Přehled
Toto pravidlo rozpozná struktury, které obsahují jedno nebo více readonly
polí a také přiřazení mimo this
konstruktor. Toto pravidlo doporučuje převést readonly
pole na jen pro čtení, tj. zapisovatelná. Označení polí struktury jako readonly
může vést k neočekávanému chování, protože hodnota přiřazená k poli se může změnit, když this
je přiřazena mimo konstruktor.
Možnosti
Toto pravidlo nemá přidružené možnosti stylu kódu.
Příklad
// 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);
}
}
Potlačení upozornění
Pokud chcete potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, které pravidlo zakažou a znovu ho povolí.
#pragma warning disable IDE0064
// The code that's violating the rule is on this line.
#pragma warning restore IDE0064
Pokud chcete pravidlo pro soubor, složku nebo projekt zakázat, nastavte jeho závažnost v konfiguračním souboru na none
.
[*.{cs,vb}]
dotnet_diagnostic.IDE0064.severity = none
Pokud chcete zakázat celou tuto kategorii pravidel, nastavte v konfiguračním souboru závažnost kategorie na none
.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
Další informace najdete v tématu Jak potlačit upozornění analýzy kódu.
Viz také
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro