Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
| Özellik | Değer |
|---|---|
| Kural Kimliği | CA1856 |
| Başlık | ConstantExpected özniteliğinin yanlış kullanımı |
| Kategori | Performans |
| Düzeltme bozucu ya da bozmayan olabilir | Kesintisiz |
| .NET 10'da varsayılan olarak etkin | Hata olarak |
| Geçerli diller | C# |
Neden
ConstantExpectedAttribute Özniteliği bir parametreye doğru uygulanmadı.
Kural açıklaması
Bu kural ConstantExpectedAttribute özniteliğinin yanlış kullanımlarını işaretler, örneğin:
- Min veya Max değeri parametre türüyle uyumlu değildir.
- Parametre türü ConstantExpectedAttribute özniteliği için desteklenmez.
- Min ve Max değerleri tersine çevrilir.
- Min veya Max değeri parametre değeri sınırlarına sığmaz.
İhlalleri düzeltme
Kodunuzu, aldığınız hata iletisiyle belirtilen şekilde düzeltin.
Örnek
Aşağıdaki kod parçacığı CA1856 ihlallerini gösterir:
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) { }
Aşağıdaki kod parçacığı ihlalleri düzeltir:
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) { }
Uyarıların ne zaman bastırılması gerekiyor?
Bu kuralın ihlali, kodunuzda bir hata olduğunu gösterir ve her zaman düzeltilmelidir.