CA1822: Tandai anggota sebagai statik
Properti | Nilai |
---|---|
ID Aturan | CA1822 |
Judul | Tandai anggota sebagai statik |
Golongan | Performa |
Perbaikan bersifat disruptif atau non-disruptif | Tidak melanggar - Jika anggota tidak terlihat di luar rakitan, terlepas dari perubahan yang Anda buat. Tidak melanggar - Jika Anda hanya mengubah anggota menjadi anggota instans dengan this kata kunci.Melanggar - Jika Anda mengubah anggota dari anggota instans menjadi anggota statis dan terlihat di luar rakitan. |
Diaktifkan secara default di .NET 9 | Sebagai saran |
Anggota yang tidak mengakses data instans tidak ditandai sebagai statis (Dibagikan di Visual Basic).
Anggota yang tidak mengakses data instans atau memanggil metode instans dapat ditandai sebagai statik (Dibagikan dalam Visual Basic). Setelah Anda menandai metode sebagai statik, kompilator akan memancarkan situs panggilan nonvirtual ke anggota ini. Memancarkan situs panggilan nonvirtual akan mencegah pemeriksaan pada waktu proses untuk setiap panggilan yang memastikan bahwa penunjuk objek saat ini bukan nol. Ini dapat mencapai perolehan performa yang terukur untuk kode sensitif performa. Dalam beberapa kasus, kegagalan untuk mengakses instans objek saat ini mewakili masalah kebenaran.
Tandai anggota sebagai statis (atau Dibagikan di Visual Basic) atau gunakan 'ini'/'Saya' di isi metode, jika sesuai.
Aman untuk menekan peringatan dari aturan ini untuk kode yang dikirim sebelumnya yang perbaikannya akan menjadi perubahan yang melanggar.
Jika Anda hanya ingin menyembunyikan satu pelanggaran, tambahkan arahan praprosedur ke file sumber Anda untuk dinonaktifkan lalu aktifkan kembali aturannya.
#pragma warning disable CA1822
// The code that's violating the rule is on this line.
#pragma warning restore CA1822
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none
dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA1822.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.
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 (Performa) yang diterapkannya. Untuk informasi selengkapnya, lihat Opsi konfigurasi aturan kualitas kode.
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
Catatan
Ganti bagian XXXX
CAXXXX
dengan ID aturan yang berlaku.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: