CA1041: Berikan pesan ObsoleteAttribute
Properti | Nilai |
---|---|
ID Aturan | CA1041 |
Judul | Berikan pesan ObsoleteAttribute |
Golongan | Desain |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Diaktifkan secara default di .NET 9 | Sebagai saran |
Penyebab
Jenis atau anggota ditandai dengan menggunakan System.ObsoleteAttribute atribut yang tidak memiliki properti yang System.ObsoleteAttribute.Message ditentukan.
Secara default, aturan ini hanya melihat jenis dan anggota yang terlihat secara eksternal, tetapi ini dapat dikonfigurasi.
Deskripsi aturan
ObsoleteAttribute digunakan untuk menandai jenis dan anggota pustaka yang tidak digunakan lagi. Konsumen pustaka harus menghindari penggunaan jenis atau anggota apa pun yang ditandai usang. Ini karena mungkin tidak didukung dan akhirnya akan dihapus dari versi pustaka yang lebih baru. Saat jenis atau anggota yang ditandai dengan menggunakan ObsoleteAttribute dikompilasi, Message properti atribut ditampilkan. Ini memberikan informasi kepada pengguna tentang jenis atau anggota yang sudah usang. Informasi ini umumnya mencakup berapa lama jenis atau anggota usang akan didukung oleh perancang pustaka dan pengganti yang disukai untuk digunakan.
Cara memperbaiki pelanggaran
Untuk memperbaiki pelanggaran aturan ini, tambahkan message
parameter ke ObsoleteAttribute konstruktor.
Kapan harus menekan peringatan
Jangan menekan peringatan dari aturan ini karena Message properti menyediakan informasi penting tentang jenis atau anggota yang usang.
Mengonfigurasi kode yang akan dianalisis
Gunakan opsi berikut untuk mengonfigurasi bagian mana dari codebase Anda yang akan menjalankan aturan ini.
Anda dapat mengonfigurasi opsi ini hanya untuk aturan ini, untuk semua aturan yang berlaku untuknya, atau untuk semua aturan dalam kategori ini (Desain) yang berlaku untuk aturan ini. Untuk informasi selengkapnya, lihat Opsi konfigurasi aturan kualitas kode.
Menyertakan permukaan API tertentu
Anda dapat mengonfigurasi bagian basis kode mana yang akan dijalankan aturan ini, berdasarkan aksesibilitasnya, dengan mengatur opsi api_surface. Misalnya, untuk menentukan bahwa aturan hanya boleh dijalankan pada permukaan API non-publik, tambahkan pasangan kunci-nilai berikut ke file .editorconfig di proyek Anda:
dotnet_code_quality.CAXXXX.api_surface = private, internal
Nota
Ganti bagian XXXX
CAXXXX
dengan ID aturan yang berlaku.
Contoh
Contoh berikut menunjukkan anggota usang yang telah dinyatakan ObsoleteAttributedengan benar .
[ObsoleteAttribute("This property is obsolete and will be removed in a " +
"future version. Use the FullName property instead.", false)]
public string Name
{
get => "Name";
}
Imports System
Namespace ca1041
Public Class ObsoleteAttributeOnMember
<ObsoleteAttribute("This property is obsolete and will " &
"be removed in a future version. Use the FirstName " &
"and LastName properties instead.", False)>
ReadOnly Property Name As String
Get
Return "Name"
End Get
End Property
ReadOnly Property FirstName As String
Get
Return "FirstName"
End Get
End Property
ReadOnly Property LastName As String
Get
Return "LastName"
End Get
End Property
End Class
End Namespace