Explicit cast hozzáadása foreach hurokhoz (IDE0220)
Tulajdonság | Érték |
---|---|
Szabályazonosító | IDE0220 |
Cím | Explicit leadás hozzáadása |
Kategória | Stílus |
Alkategória | Nyelvi szabályok (kifejezésszintű beállítások) |
Alkalmazandó nyelvek | C# |
Beállítások | dotnet_style_prefer_foreach_explicit_cast_in_source |
Áttekintés
Ez a szabály azt jelzi, hogy nincs explicit szereposztás egy foreach
hurokban, amikor a fordító rejtett castet adna hozzá. Általános vagy erősen begépelt gyűjtemények esetén, ha explicit leadást kényszerít, amikor a fordító rejtett leadást adna hozzá, felfedheti a helytelen típus használatát a foreach
utasításban.
Beállítások
A beállítások határozzák meg, hogy a szabály milyen viselkedést kényszerítsen ki. További információ a beállítások konfigurálásáról: Beállításformátum.
dotnet_style_prefer_foreach_explicit_cast_in_source
Tulajdonság | Érték | Leírás |
---|---|---|
Beállítás neve | dotnet_style_prefer_foreach_explicit_cast_in_source | |
Beállításértékek | always |
Előnyben részesítse az explicit casteket a forráskódban. |
when_strongly_typed |
Az explicit casteket részesíti előnyben az erősen gépelt (általános) gyűjteményekhez, de az örökölt gyűjteményekhez( például ArrayList) nem. | |
Alapértelmezett beállításérték | when_strongly_typed |
Példa
// 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>())
Figyelmeztetés mellőzése
Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozói irányelveket a forrásfájlhoz a letiltásához, majd engedélyezze újra a szabályt.
#pragma warning disable IDE0220
// The code that's violating the rule is on this line.
#pragma warning restore IDE0220
Ha le szeretné tiltani egy fájl, mappa vagy projekt szabályát, állítsa annak súlyosságát none
a konfigurációs fájlban.
[*.{cs,vb}]
dotnet_diagnostic.IDE0220.severity = none
Az összes kódstílus-szabály letiltásához állítsa a kategória Style
súlyosságát none
a konfigurációs fájlban.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
További információ: Kódelemzési figyelmeztetések mellőzése.