Bagikan melalui


Menambahkan cast eksplisit dalam foreach loop (IDE0220)

Harta benda Nilai
ID Aturan IDE0220
Judul Tambahkan cast eksplisit
Kategori Gaya
Subkategori Aturan bahasa (preferensi tingkat ekspresi)
bahasa yang berlaku C#
Opsi dotnet_style_prefer_foreach_explicit_cast_in_source

Ikhtisar

Aturan ini menandai tidak adanya cast eksplisit dalam perulangan foreach ketika kompilator akan menambahkan cast tersembunyi. Untuk koleksi yang bersifat generik atau bertipedata kuat, memaksa penggunaan cast eksplisit saat kompilator menambahkan cast tersembunyi dapat mengungkapkan kesalahan penggunaan tipe dalam pernyataan foreach.

Pilihan

Opsi menentukan perilaku yang Anda inginkan untuk diberlakukan aturan. Untuk informasi tentang mengonfigurasi opsi, lihat format Opsi .

dotnet_style_prefer_foreach_explicit_cast_in_source

Harta benda Nilai Deskripsi
Nama opsi dotnet_gaya_lebih_memilih_foreach_cast_eksplisit_di_sumber
nilai opsi always Utamakan penggunaan cast eksplisit dalam kode sumber.
when_strongly_typed Lebih suka cast eksplisit untuk koleksi bertipe kuat (generik) tetapi bukan untuk koleksi warisan, seperti ArrayList.
nilai opsi default when_strongly_typed

Contoh

// Code with violations.
var list = new List<object>();
foreach (string item in list) { }

// Fixed code.
var list = new List<object>();
foreach (string item in list.Cast<string>())

Menyembunyikan peringatan

Jika Anda ingin menekan hanya satu pelanggaran, tambahkan arahan praprosesor ke file sumber Anda untuk nonaktifkan sementara aturan dan kemudian mengaktifkan kembali.

#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220

Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi .

[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none

Untuk menonaktifkan semua aturan gaya kode, atur tingkat keparahan untuk kategori Style ke none dalam file konfigurasi .

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

Untuk informasi selengkapnya, lihat Cara menekan peringatan analisis kode.

Lihat juga