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.
| Properti | Nilai |
|---|---|
| ID Aturan | CA1727 |
| Judul | Gunakan PascalCase untuk placeholder yang diberi nama |
| Kategori | Penamaan |
| Perbaikan bersifat merusak atau tidak merusak | Tidak terputus |
| Diaktifkan secara default di .NET 10 | Tidak |
| Bahasa yang berlaku | C# dan Visual Basic |
Penyebab
Tempat penampung bernama yang digunakan dengan ILogger bukan PascalCase.
Deskripsi aturan
Placeholder bernama yang digunakan dengan ILogger harus PascalCase, yaitu konvensi penamaan di mana huruf pertama dari setiap kata majemuk dalam nama dikapitalisasi. Konvensi penamaan ini direkomendasikan untuk pencatatan log terstruktur, di mana setiap placeholder yang dinamai digunakan sebagai nama properti dalam data terstruktur.
Cara memperbaiki pelanggaran
Gunakan PascalCase untuk placeholder yang bernama. Misalnya, ubah {firstName} menjadi {FirstName}.
Example
public class UserService
{
private readonly ILogger<UserService> _logger;
public UserService(ILogger<UserService> logger)
{
_logger = logger;
}
public void Create(string firstName, string lastName)
{
// This code violates the rule.
_logger.LogInformation("Creating user {firstName} {lastName}", firstName, lastName);
// This code satisfies the rule.
_logger.LogInformation("Creating user {FirstName} {LastName}", firstName, lastName);
}
}
Kapan harus menekan peringatan
Aman untuk menyembunyikan peringatan dari aturan ini.
Menyembunyikan peringatan
Jika Anda hanya ingin menyembunyikan satu pelanggaran, tambahkan arahan praprosedur ke file sumber Anda untuk dinonaktifkan lalu aktifkan kembali aturannya.
#pragma warning disable CA1727
// The code that's violating the rule is on this line.
#pragma warning restore CA1727
Untuk menonaktifkan aturan untuk file, folder, atau proyek, atur tingkat keparahannya ke none dalam file konfigurasi.
[*.{cs,vb}]
dotnet_diagnostic.CA1727.severity = none
Untuk informasi selengkapnya, lihat Cara menyembunyikan peringatan analisis kode.