CA1856: ConstantExpected özniteliğinin yanlış kullanımı
Özellik | Değer |
---|---|
Kural Kimliği | CA1856 |
Başlık | ConstantExpected özniteliğinin yanlış kullanımı |
Kategori | Performans |
Hataya neden olan veya bozulmayan düzeltme | Hataya neden olmayan |
.NET 9'da varsayılan olarak etkin | Hata olarak |
Neden
ConstantExpectedAttribute Özniteliği bir parametreye doğru uygulanmadı.
Kural açıklaması
Bu kural özniteliğin ConstantExpectedAttribute yanlış kullanımlarına bayrak ekler, örneğin:
- Min veya Max değeri parametre türüyle uyumlu değildir.
- Parametre türü öznitelik için ConstantExpectedAttribute 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.
GitHub'da bizimle işbirliği yapın
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.