CA1856: Nieprawidłowe użycie atrybutu ConstantExpected
Właściwości | Wartość |
---|---|
Identyfikator reguły | CA1856 |
Tytuł | Nieprawidłowe użycie atrybutu ConstantExpected |
Kategoria | Wydajność |
Poprawka powodująca niezgodność lub niezgodność | Niezgodność |
Domyślnie włączone na platformie .NET 9 | Jako błąd |
Przyczyna
Atrybut ConstantExpectedAttribute nie jest poprawnie stosowany w parametrze.
Opis reguły
Ta reguła flaguje nieprawidłowe zastosowania atrybutu ConstantExpectedAttribute , takie jak:
- Wartość Min lub Max nie jest zgodna z typem parametru.
- Typ parametru nie jest obsługiwany dla atrybutu ConstantExpectedAttribute .
- Wartości Min i Max są odwrócone.
- Wartość Min lub Max nie mieści się w granicach wartości parametru.
Jak naprawić naruszenia
Popraw kod wskazany przez otrzymany komunikat o błędzie.
Przykład
Poniższy fragment kodu pokazuje naruszenia 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) { }
Poniższy fragment kodu naprawia naruszenia:
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) { }
Kiedy pomijać ostrzeżenia
Naruszenie tej reguły oznacza błąd w kodzie i zawsze powinno być naprawione.
Współpracuj z nami w serwisie GitHub
Źródło tej zawartości można znaleźć w witrynie GitHub, gdzie można również tworzyć i przeglądać problemy i żądania ściągnięcia. Więcej informacji znajdziesz w naszym przewodniku dla współtwórców.