Cara menekan peringatan kode analisis
Artikel ini membahas berbagai cara untuk menyembunyikan peringatan dari analisis kode saat Anda membangun aplikasi .NET. Anda dapat menyembunyikan aturan kualitas kode, aturan gaya kode, dan aturan penganalisis pihak ketiga menggunakan informasi yang disediakan di sini.
Tip
Jika Anda menggunakan Visual Studio sebagai lingkungan pengembangan, menu bola lampu menyediakan opsi yang menghasilkan kode untuk menyembunyikan peringatan untuk Anda. Untuk informasi selengkapnya, lihat Menyembunyikan peringatan.
Nonaktifkan aturan
Anda dapat menonaktifkan aturan yang menyebabkan peringatan dengan mengatur tingkat keparahannya dalam none
file konfigurasi EditorConfig atau AnalyzerConfig. Tindakan ini menonaktifkan aturan untuk seluruh file atau proyek Anda, tergantung pada cakupan file konfigurasi yang Anda gunakan.
[*.{cs,vb}]
dotnet_diagnostic.<rule-ID>.severity = none
Untuk informasi selengkapnya tentang tingkat keparahan aturan, lihat Mengonfigurasi tingkat keparahan aturan.
Menggunakan arahan pra-prosesor
Gunakan arahan peringatan #pragma (C#) atau Nonaktifkan (Visual Basic) untuk menyembunyikan peringatan hanya untuk baris kode tertentu.
try { ... }
catch (Exception e)
{
#pragma warning disable CA2200 // Rethrow to preserve stack details
throw e;
#pragma warning restore CA2200 // Rethrow to preserve stack details
}
Try
...
Catch e As Exception
#Disable Warning CA2200 ' Rethrow to preserve stack details
Throw e
#Enable Warning CA2200 ' Rethrow to preserve stack details
End Try
Menggunakan SuppressMessageAttribute
Anda bisa menggunakan SuppressMessageAttribute untuk menyembunyikan peringatan baik dalam file sumber atau dalam file supresi global untuk proyek (GlobalSuppressions.cs atau GlobalSuppressions.vb). Atribut ini menyediakan cara untuk menyembunyikan peringatan hanya di bagian tertentu dari proyek atau file Anda.
Dua parameter posisi yang diperlukan untuk atribut SuppressMessageAttribute adalah kategori aturan dan ID aturan. Cuplikan kode berikut meneruskan "Usage"
dan "CA2200:Rethrow to preserve stack details"
untuk parameter ini.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Usage", "CA2200:Rethrow to preserve stack details", Justification = "Not production code.")]
private static void IgnorableCharacters()
{
try
{
...
}
catch (Exception e)
{
throw e;
}
}
Jika menambahkan atribut ke file supresi global, Anda mencakup penekanan ke tingkat yang diinginkan, misalnya "member"
. Anda menentukan API tempat peringatan harus disembunyikan dengan properti Target.
[assembly: SuppressMessage("Usage", "CA2200:Rethrow to preserve stack details", Justification = "Not production code.", Scope = "member", Target = "~M:MyApp.Program.IgnorableCharacters")]
Gunakan ID dokumentasi untuk API yang ingin Anda referensikan di atribut Target
. Untuk informasi tentang ID dokumentasi, lihat Format ID dokumentasi.
Untuk menyembunyikan peringatan bagi kode yang dihasilkan pengompilasi yang tidak memetakan ke sumber pengguna yang disediakan secara eksplisit, Anda harus menempatkan atribut supresi dalam file supresi global. Misalnya, kode berikut menyembunyikan pelanggaran terhadap konstruktor yang dipancarkan pengkompilasi:
[module: SuppressMessage("Design", "CA1055:AbstractTypesDoNotHavePublicConstructors", Scope="member", Target="MyTools.Type..ctor()")]
Lihat juga
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