„var“-Einstellungen (IDE0007 und IDE0008)
In diesem Artikel werden zwei verwandte Regeln beschrieben, IDE0007
und IDE0008
.
Eigenschaft | Wert |
---|---|
Regel-ID | IDE0007 |
Titel | var anstelle eines expliziten Typ verwenden |
Kategorie | Stil |
Unterkategorie | Sprachregeln („var“-Einstellungen) |
Gültige Sprachen | C# |
Optionen | csharp_style_var_for_built_in_types |
csharp_style_var_when_type_is_apparent |
|
csharp_style_var_elsewhere |
Eigenschaft | Wert |
---|---|
Regel-ID | IDE0008 |
Titel | Expliziten Typ anstelle von var verwenden |
Kategorie | Stil |
Unterkategorie | Sprachregeln („var“-Einstellungen) |
Gültige Sprachen | C# |
Optionen | csharp_style_var_for_built_in_types |
csharp_style_var_when_type_is_apparent |
|
csharp_style_var_elsewhere |
Übersicht
Diese beiden Stilregeln definieren, ob das var-Schlüsselwort oder ein expliziter Typ in einer Variablendeklaration verwendet werden soll. Um zu erzwingen, dass var
verwendet wird, legen Sie den Schweregrad von IDE0007
auf „Warnung“ oder „Fehler“ fest. Um zu erzwingen, dass der explizite Typ verwendet wird, legen Sie den Schweregrad von IDE0008
auf „Warnung“ oder „Fehler“ fest.
Optionen
Die dieser Regel zugeordneten Optionen legen fest, wo diese Formateinstellung angewendet werden soll:
- Integrierte Typen (csharp_style_var_for_built_in_types)
- Stellen, an denen der Typ sichtbar ist (csharp_style_var_when_type_is_apparent)
- Anderswo (csharp_style_var_elsewhere)
Weitere Informationen zum Konfigurieren von Optionen finden Sie unter Optionsformat.
csharp_style_var_for_built_in_types
Eigenschaft | Wert | Beschreibung |
---|---|---|
Name der Option | csharp_style_var_for_built_in_types | |
Optionswerte | true |
Die Verwendung von var zum Deklarieren von Variablen mit integrierten Systemtypen wie int bevorzugen. |
false |
Die Verwendung von expliziten Typen gegenüber var bevorzugen, um Variablen mit integrierten Systemtypen wie int zu deklarieren. |
|
Standardoptionswert | false |
// csharp_style_var_for_built_in_types = true
var x = 5;
// csharp_style_var_for_built_in_types = false
int x = 5;
csharp_style_var_when_type_is_apparent
Eigenschaft | Wert | Beschreibung |
---|---|---|
Name der Option | csharp_style_var_when_type_is_apparent | |
Optionswerte | true |
var bevorzugen, wenn der Typ bereits auf der rechten Seite eines Deklarationsausdrucks erwähnt ist. |
false |
Einen expliziten Typ bevorzugen, wenn der Typ bereits auf der rechten Seite eines Deklarationsausdrucks erwähnt ist. | |
Standardoptionswert | false |
// csharp_style_var_when_type_is_apparent = true
var obj = new Customer();
// csharp_style_var_when_type_is_apparent = false
Customer obj = new Customer();
csharp_style_var_elsewhere
Eigenschaft | Wert | Beschreibung |
---|---|---|
Name der Option | csharp_style_var_elsewhere | |
Optionswerte | true |
var in allen Fällen gegenüber dem expliziten Typ bevorzugen, außer bei einer Überschreibung durch eine andere Codeformatregel. |
false |
Den expliziten Typ in allen Fällen gegenüber var bevorzugen, außer bei einer Überschreibung durch eine andere Codeformatregel. |
|
Standardoptionswert | false |
// csharp_style_var_elsewhere = true
var f = this.Init();
// csharp_style_var_elsewhere = false
bool f = this.Init();
Unterdrücken einer Warnung
Um nur eine einzelne Verletzung zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Regel zu deaktivieren und dann wieder zu aktivieren.
#pragma warning disable IDE0007 // Or IDE0008
// The code that's violating the rule is on this line.
#pragma warning restore IDE0007 // Or IDE0008
Um die Regel für eine Datei, einen Ordner oder ein Projekt zu deaktivieren, legen Sie den Schweregrad in der Konfigurationsdatei auf none
fest.
[*.{cs,vb}]
dotnet_diagnostic.IDE0007.severity = none
dotnet_diagnostic.IDE0008.severity = none
Um alle Regeln im Code-Stil zu deaktivieren, setzen Sie den Schweregrad für die Kategorie in der KonfigurationsdateiStyle
auf none
.
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
Weitere Informationen finden Sie unter Vorgehensweise: Unterdrücken von Codeanalyse-Warnungen.