Bagikan melalui


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 XXXXCAXXXX 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

Lihat juga