Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarangBrowser ini sudah tidak didukung.
Mutakhirkan ke Microsoft Edge untuk memanfaatkan fitur, pembaruan keamanan, dan dukungan teknis terkini.
Properti | Nilai |
---|---|
ID Aturan | CA1852 |
Judul | Segel jenis internal |
Golongan | Performa |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Versi yang diperkenalkan | .NET 7 |
Diaktifkan secara default di .NET 9 | No |
Jenis yang tidak dapat diakses di luar rakitannya dan tidak memiliki subjenis dalam rakitan yang berisi tidak ditandai sealed
(NotInheritable
di Visual Basic).
Ketika jenis tidak dapat diakses di luar rakitannya dan tidak memiliki subjenis dalam assembly yang berisi, itu dapat disegel dengan aman. Jenis penyegelan dapat meningkatkan performa. Untuk informasi selengkapnya, lihat Proposal Penganalisis: Segel tipe internal/privat].
Jika Anda menerapkan System.Runtime.CompilerServices.InternalsVisibleToAttribute ke rakitan yang sedang dianalisis, aturan ini tidak menandai jenis yang tidak ditandai sebagai sealed
secara default, karena bidang dapat digunakan oleh rakitan teman. Untuk menganalisis assembly, lihat Mengonfigurasi kode untuk menganalisis.
Tandai jenis sebagai sealed
(NotInheritable
di Visual Basic).
Cuplikan kode berikut menunjukkan pelanggaran CA1852:
internal class C
{ }
Class C
End Class
Cuplikan kode berikut memperbaiki pelanggaran:
internal sealed class C
{ }
NotInheritable Class C
End Class
Aman untuk menekan peringatan jika performa tidak menjadi perhatian.
Jika Anda hanya ingin menyembunyikan satu pelanggaran, tambahkan arahan praprosedur ke file sumber Anda untuk dinonaktifkan lalu aktifkan kembali aturannya.
#pragma warning disable CA1852
// The code that's violating the rule is on this line.
#pragma warning restore CA1852
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none
dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA1852.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.
Secara default, aturan ini dinonaktifkan jika rakitan yang dianalisis InternalsVisibleToAttribute menggunakan untuk mengekspos simbol internalnya. Anda dapat mengatur opsi ignore_internalsvisibleto untuk mengubah konfigurasi. Untuk menentukan bahwa aturan harus berjalan meskipun rakitan ditandai dengan InternalsVisibleToAttribute, tambahkan pasangan kunci-nilai berikut ke file .editorconfig di proyek Anda:
dotnet_code_quality.CAXXXX.ignore_internalsvisibleto = true
Catatan
Ganti bagian XXXX
CAXXXX
dengan ID aturan yang berlaku.
Opsi ini tersedia mulai dari .NET 8.
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik:
Acara
Membangun Aplikasi dan Agen AI
17 Mar, 21 - 21 Mar, 10
Bergabunglah dengan seri meetup untuk membangun solusi AI yang dapat diskalakan berdasarkan kasus penggunaan dunia nyata dengan sesama pengembang dan pakar.
Daftar sekarang