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.
Artikel ini membahas berbagai cara Untuk menekan peringatan dari analisis kode saat membuat aplikasi .NET. Anda dapat menekan aturan kualitas kode, aturan gaya kode, dan aturan penganalisis pihak ketiga menggunakan informasi yang disediakan di sini.
Petunjuk / Saran
Jika Anda menggunakan Visual Studio sebagai lingkungan pengembangan, menu bola lampu menyediakan opsi yang menghasilkan kode untuk menekan peringatan bagi Anda. Untuk informasi selengkapnya, lihat Menyembunyikan pelanggaran.
Menonaktifkan aturan
Anda dapat menonaktifkan aturan yang menyebabkan peringatan dengan mengatur tingkat keparahannya dalam nonefile 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 direktif prapemrosan
Gunakan direktif peringatan #pragma (C#) atau Nonaktifkan (Visual Basic) untuk menekan 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
Penggunaan SuppressMessageAttribute
Anda dapat menggunakan SuppressMessageAttribute untuk menekan peringatan baik dalam file sumber atau dalam file supresi global untuk proyek (GlobalSuppressions.cs atau GlobalSuppressions.vb). Atribut ini menyediakan cara untuk menekan peringatan hanya di bagian tertentu dari proyek atau file Anda.
Dua parameter posisi yang diperlukan untuk SuppressMessageAttribute atribut adalah kategori aturan dan ID aturan. Cuplikan kode berikut ini meneruskan "Usage" dan "CA2200:Rethrow to preserve stack details" untuk parameter-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 Anda menambahkan atribut ke file supresi global, Anda menentukan ruang lingkup penindasan pada tingkat yang diinginkan, misalnya "member". Anda menentukan API tempat peringatan diabaikan menggunakan 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 Target dalam atribut . Untuk informasi tentang ID dokumentasi, lihat format ID dokumentasi .
Untuk menekan peringatan untuk kode yang dihasilkan kompilator yang tidak terkait dengan sumber pengguna yang telah ditentukan secara eksplisit, Anda harus meletakkan atribut penekanan dalam file penekanan global. Misalnya, kode berikut mengabaikan pelanggaran pada konstruktor yang dihasilkan oleh kompilator.
[module: SuppressMessage("Design", "CA1055:AbstractTypesDoNotHavePublicConstructors", Scope="member", Target="MyTools.Type..ctor()")]