Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
| Własność | Wartość |
|---|---|
| ID reguły | IDE0220 |
| Tytuł | Dodaj jawne rzutowanie |
| Kategoria | Styl |
| podkategoria | Reguły języka (preferencje na poziomie wyrażenia) |
| obsługiwane języki | C# |
| opcje | dotnet_style_prefer_foreach_explicit_cast_in_source |
Przegląd
Ta reguła sygnalizuje brak jawnego rzutowania w pętli foreach, gdy kompilator doda ukryte rzutowanie. W przypadku kolekcji ogólnych lub silnie typowanych, wymuszenie jawnego rzutowania, w sytuacji gdy kompilator dodałby ukryte rzutowanie, może ujawnić użycie niepoprawnego typu w instrukcji foreach.
Opcje
Opcje określają zachowanie, które ma być wymuszane przez regułę. Aby uzyskać informacje na temat konfigurowania opcji, zobacz Format opcji.
dotnet_style_prefer_foreach_explicit_cast_in_source
| Własność | Wartość | Opis |
|---|---|---|
| nazwa opcji | dotnet_style_prefer_foreach_explicit_cast_in_source | |
| wartości opcji | always |
Preferuj jawne rzutowanie w kodzie źródłowym. |
when_strongly_typed |
Preferuj jawne rzutowanie dla silnie typowanych (generycznych) kolekcji, ale nie dla starszych kolekcji, takich jak ArrayList. | |
| domyślna wartość opcji | when_strongly_typed |
Przykład
// 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>())
Pomijanie ostrzeżenia
Jeśli chcesz pominąć tylko jedno naruszenie, dodaj dyrektywy preprocesora do pliku źródłowego, aby wyłączyć, a następnie ponownie włączyć regułę.
#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
Aby wyłączyć regułę dla pliku, folderu lub projektu, ustaw jego ważność na none w pliku konfiguracji .
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none
Aby wyłączyć wszystkie reguły stylu kodu, ustaw poziom istotności dla kategorii Style na none w pliku konfiguracyjnym .
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Aby uzyskać więcej informacji, zobacz Jak pominąć ostrzeżenia analizy kodu.