CA1856: Penggunaan atribut ConstantExpected salah
Properti | Nilai |
---|---|
ID Aturan | CA1856 |
Judul | Penggunaan atribut ConstantExpected salah |
Golongan | Performa |
Perbaikan bersifat disruptif atau non-disruptif | Non-disruptif |
Diaktifkan secara default di .NET 8 | Sebagai kesalahan |
Penyebab
Atribut ConstantExpectedAttribute tidak diterapkan dengan benar pada parameter.
Deskripsi aturan
Aturan ini menandai penggunaan atribut yang ConstantExpectedAttribute salah, seperti:
- Nilai Min atau Max tidak kompatibel dengan jenis parameter.
- Jenis parameter tidak didukung untuk ConstantExpectedAttribute atribut .
- Nilai Min dan Max terbalik.
- Nilai Min atau Max tidak cocok dalam batas nilai parameter.
Cara memperbaiki pelanggaran
Koreksi kode Anda seperti yang ditunjukkan oleh pesan kesalahan tertentu yang Anda terima.
Contoh
Cuplikan kode berikut menunjukkan pelanggaran CA1856:
using System.Diagnostics.CodeAnalysis;
// Violation - value not compatible with parameter type.
static void M1([ConstantExpected(Min = "a")] char val) { }
// Violation - unsupported type for attribute.
static void M2([ConstantExpected] decimal val) { }
// Violation - Min and Max values are inverted.
static void M3([ConstantExpected(Max = 0, Min = 1)] int val) { }
// Violation - value does not fit within the parameter value bounds.
static void M4([ConstantExpected(Min = long.MinValue)] int val) { }
Cuplikan kode berikut memperbaiki pelanggaran:
using System.Diagnostics.CodeAnalysis;
static void M1([ConstantExpected(Min = 'a')] char val) { }
static void M2(decimal val) { }
static void M3([ConstantExpected(Min = 0, Max = 1)] int val) { }
static void M4([ConstantExpected(Min = int.MinValue)] int val) { }
Kapan harus menekan peringatan
Pelanggaran aturan ini menunjukkan kesalahan dalam kode Anda, dan harus selalu diperbaiki.
Berkolaborasi dengan kami di GitHub
Sumber untuk konten ini dapat ditemukan di GitHub, yang juga dapat Anda gunakan untuk membuat dan meninjau masalah dan menarik permintaan. Untuk informasi selengkapnya, lihat panduan kontributor kami.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk