CA1856: Nesprávné použití atributu ConstantExpected
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 8 | 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.
Spolupracujte s námi na GitHubu
Zdroj tohoto obsahu najdete na GitHubu, kde můžete také vytvářet a kontrolovat problémy a žádosti o přijetí změn. Další informace najdete v našem průvodci pro přispěvatele.