Megosztás a következőn keresztül:


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.

Lásd még