Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
| Vlastnost | Hodnota |
|---|---|
| ID pravidla | CA1856 |
| Název | Nesprávné použití atributu ConstantExpected |
| Kategorie | Výkon |
| Oprava způsobující chybu nebo chybu způsobující chybu | Nenarušující |
| Povoleno ve výchozím nastavení v .NET 10 | Jako chyba |
Příčina
Atribut ConstantExpectedAttribute není u parametru použit správně.
Popis pravidla
Toto pravidlo označuje nesprávné použití atributu ConstantExpectedAttribute , například:
- Hodnota Min nebo hodnota Max není kompatibilní s typem parametru.
- Typ parametru ConstantExpectedAttribute není pro atribut podporován.
- Hodnoty Min a Max hodnoty jsou invertovány.
- Hodnota MinMax se nevejde do mezí hodnoty parametru.
Jak opravit porušení
Opravte kód podle konkrétní chybové zprávy, která se zobrazí.
Příklad
Následující fragment kódu ukazuje porušení 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) { }
Následující fragment kódu opravuje porušení:
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) { }
Kdy potlačit upozornění
Porušení tohoto pravidla indikuje chybu v kódu a měla by být vždy opravena.