Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
| Собственность | Ценность |
|---|---|
| Идентификатор правила | IDE0220 |
| Заголовок | Добавьте явное приведение |
| категория | Стиль |
| подкатегория | Языковые правила (предпочтения уровня выражений) |
| применимые языки | C# |
| Опции | dotnet_style_prefer_foreach_explicit_cast_in_source |
Обзор
Это правило отмечает отсутствие явного приведения в цикле foreach там, где компилятор автоматически добавляет скрытое приведение. Для универсальных или строго типизированных коллекций, принуждая явное приведение, когда компилятор добавил бы скрытое приведение, можно обнаружить использование неправильного типа в операторе foreach.
Параметры
Параметры задают поведение, которое должно соблюдаться правилом. Сведения о настройке параметров см. в формата параметра.
dotnet_style_prefer_foreach_explicit_cast_in_source
| Собственность | Ценность | Описание |
|---|---|---|
| имя параметра | dotnet_style_prefer_foreach_explicit_cast_in_source | |
| значения опций | always |
Предпочитайте явные приведения в исходном коде. |
when_strongly_typed |
Предпочитайте явные приведения для строго типизированных (обобщённых) коллекций, но не для устаревших коллекций, таких как ArrayList. | |
| значение параметра по умолчанию | when_strongly_typed |
Пример
// Code with violations.
var list = new List<object>();
foreach (string item in list) { }
// Fixed code.
var list = new List<object>();
foreach (string item in list.Cast<string>())
Подавление предупреждения
Если вы хотите отключить только одно нарушение, добавьте директивы препроцессора в исходный файл, чтобы отключить и повторно включить правило.
#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
Чтобы отключить правило для файла, папки или проекта, задайте его серьезность none в файле конфигурации .
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none
Чтобы отключить все правила стиля кода, задайте уровень серьезности для категории Style, чтобы none в файле конфигурации .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Дополнительные сведения см. в статье Подавление предупреждений анализа кода.
См. также
- часто используемые типы коллекций
- справочник по правилам стиля кода