CA2263: Lebih suka kelebihan beban umum saat jenis diketahui
Nilai | |
---|---|
ID Aturan | CA2263 |
Judul | Lebih suka kelebihan beban generik saat jenis diketahui |
Golongan | Penggunaan |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Diaktifkan secara default di .NET 9 | Sebagai saran |
Penyebab
Metode kelebihan beban yang menerima System.Type argumen dipanggil ketika jenis diketahui pada waktu kompilasi dan kelebihan beban umum yang sesuai tersedia.
Deskripsi aturan
Kelebihan beban umum lebih disukai daripada kelebihan beban yang menerima argumen jenis System.Type ketika jenis diketahui pada waktu kompilasi (menggunakan operator typeof di C# atau operator GetType di Visual Basic). Kelebihan generik mempromosikan kode yang lebih bersih dan lebih aman jenis dengan pemeriksaan waktu kompilasi yang ditingkatkan.
Cara memperbaiki pelanggaran
Untuk memperbaiki pelanggaran aturan ini, gunakan kelebihan beban umum yang sesuai.
Contoh
Cuplikan kode berikut menunjukkan pelanggaran CA2263:
int size = Marshal.SizeOf(typeof(bool));
Dim size As Integer = Marshal.SizeOf(GetType(Boolean))
Cuplikan kode berikut memperbaiki pelanggaran:
int size = Marshal.SizeOf<bool>();
Dim size As Integer = Marshal.SizeOf(Of Boolean)()
Kapan harus menekan peringatan
Aman untuk menekan peringatan dari aturan ini; namun, kami sarankan Anda menggunakan kelebihan beban umum jika memungkinkan.
Menyembunyikan peringatan
Jika Anda hanya ingin menyembunyikan satu pelanggaran, tambahkan arahan praprosedur ke file sumber Anda untuk dinonaktifkan lalu aktifkan kembali aturannya.
#pragma warning disable CA2263
// The code that's violating the rule is on this line.
#pragma warning restore CA2263
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none
dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA2263.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk