Mintaegyezés használata (IDE0078 és IDE0260)
Ez a cikk két kapcsolódó szabályt IDE0078
és IDE0260
.
Tulajdonság | Érték |
---|---|
Szabályazonosító | IDE0078 |
Cím | Mintaegyezés használata |
Kategória | Stílus |
Alkategória | Nyelvi szabályok (mintaegyeztetési beállítások) |
Alkalmazandó nyelvek | C# 9.0+ |
Beállítások | csharp_style_prefer_pattern_matching |
Tulajdonság | Érték |
---|---|
Szabályazonosító | IDE0260 |
Cím | Mintaegyezés használata |
Kategória | Stílus |
Alkategória | Nyelvi szabályok (mintaegyeztetési beállítások) |
Alkalmazandó nyelvek | C# |
Beállítások | csharp_style_pattern_matching_over_as_with_null_check |
Áttekintés
Ez a stílusszabály a C# mintaegyező szerkezetek használatára vonatkozik.
IDE0260 kifejezetten egy as
kifejezés használatát jelöli, amelyet egy tag olvas be a null-feltételes operátoron keresztül. Ez a szabály hasonló a IDE0019, amely egy as
kifejezés használatát jelöli, amelyet egy null
ellenőrzés követ.
Beállítások
A beállítások határozzák meg a szabály kényszerítéséhez használni kívánt viselkedést. A beállítások konfigurálásával kapcsolatos információkért tekintse meg az Option formátumot.
csharp_style_prefer_pattern_matching (IDE0078)
Tulajdonság | Érték | Description |
---|---|---|
Beállítás neve | csharp_style_prefer_pattern_matching | |
Beállításértékek | true |
Ha lehetséges, inkább mintaegyező szerkezeteket használjon |
false |
Inkább ne használjon mintaegyező szerkezeteket. | |
Alapértelmezett beállításérték | true |
csharp_style_pattern_matching_over_as_with_null_check (IDE0260)
Ez a beállítás a szabály IDE0019 is konfigurálható.
Tulajdonság | Érték | Description |
---|---|---|
Beállítás neve | csharp_style_pattern_matching_over_as_with_null_check | |
Beállításértékek | true |
Előnyben részesítse a mintaegyeztetést a as null feltételes taghozzáféréssel rendelkező kifejezéssel szemben. |
false |
Letiltja a szabályt. | |
Alapértelmezett beállításérték | true |
Példák
IDE0078
// csharp_style_prefer_pattern_matching = true
var x = i is default(int) or > (default(int));
var y = o is not C c;
// csharp_style_prefer_pattern_matching = false
var x = i == default || i > default(int);
var y = !(o is C c);
IDE0260
// Code with violations.
object? o = null;
if ((o as string)?.Length == 0)
{
}
// Fixed code (csharp_style_pattern_matching_over_as_with_null_check = true).
object? o = null;
if (o is string { Length: 0 })
{
}
Figyelmeztetés mellőzése
Ha csak egyetlen szabálysértést szeretne letiltani, adjon hozzá előfeldolgozási irányelveket a forrásfájlhoz a szabály letiltásához és újbóli engedélyezéséhez.
#pragma warning disable IDE0078 // or IDE0260
// The code that's violating the rule is on this line.
#pragma warning restore IDE0078 // or IDE0260
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.IDE0078.severity = none
dotnet_diagnostic.IDE0260.severity = none
Az összes kódstílus-szabály letiltásához állítsa be 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 letiltása.