Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Свойство | Значение |
|---|---|
| Идентификатор правила | CA1856 |
| Заголовок | Неправильное использование атрибута ConstantExpected |
| Категория | Производительность |
| Исправление является критическим или не критическим | неразрывный |
| Включен по умолчанию в .NET 10 | Ошибка |
| Применимые языки | C# |
Причина
Атрибут ConstantExpectedAttribute не применяется правильно к параметру.
Описание правила
Это правило помечает неправильное использование атрибута ConstantExpectedAttribute , например:
- Значение Min или Max несовместимо с типом параметра.
- Тип параметра не поддерживается для атрибута ConstantExpectedAttribute .
- Значения Min и Max инвертированы.
- Значение Min или Max не вписывается в допустимые границы параметра.
Устранение нарушений
Исправьте код, как указано в сообщении об ошибке, которое вы получаете.
Пример
В следующем фрагменте кода показаны нарушения 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) { }
Следующий фрагмент кода исправляет нарушения.
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) { }
Когда лучше отключить предупреждения
Нарушение этого правила указывает на ошибку в коде и всегда должно быть исправлено.