Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Harta benda | Nilai |
---|---|
ID Aturan | IDE0064 |
Judul | Membuat bidang struct dapat ditulis |
Kategori | CodeQuality |
Subkategori | Aturan bahasa (preferensi pengubah) |
Bahasa yang relevan | C# |
Aturan ini mendeteksi struktur yang berisi satu atau beberapa bidang readonly
dan juga berisi penugasan untuk this
di luar konstruktor. Aturan merekomendasikan untuk mengonversi bidang readonly
menjadi non-baca saja, yaitu dapat ditulis. Menandai bidang struct tersebut sebagai readonly
dapat menyebabkan perilaku yang tidak terduga, karena nilai yang ditetapkan ke bidang dapat berubah saat this
ditetapkan di luar konstruktor.
Aturan ini tidak memiliki opsi gaya kode terkait.
// 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);
}
}
Jika Anda hanya ingin menekan satu pelanggaran, tambahkan arahan prapemrosesan ke file sumber Anda untuk menonaktifkan aturan tersebut kemudian mengaktifkannya kembali.
#pragma warning disable IDE0064
// The code that's violating the rule is on this line.
#pragma warning restore IDE0064
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none
dalam file konfigurasi .
[*.{cs,vb}]
dotnet_diagnostic.IDE0064.severity = none
Untuk menonaktifkan seluruh kategori aturan ini, atur tingkat keparahan untuk kategori ke none
dalam file konfigurasi .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-CodeQuality.severity = none
Untuk informasi selengkapnya, lihat Cara menekan peringatan analisis kode.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: