Sdílet prostřednictvím


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.