この記事では、IDE0007
と IDE0008
の 2 つの関連ルールについて説明します。
財産 | 価値 |
---|---|
ルール ID | IDE0007 |
タイトル | 明示的な型ではなく var を使用する |
カテゴリー | スタイル |
サブカテゴリー | 言語規則 ('var' の基本設定) |
対象言語 | C# |
オプション | csharp_style_var_for_built_in_types |
csharp_style_var_when_type_is_apparent |
|
csharp_style_var_elsewhere |
財産 | 価値 |
---|---|
ルール ID | IDE0008 |
タイトル | var の代わりに明示的な型を使用する |
カテゴリ | スタイル |
サブカテゴリー | 言語規則 ('var' の基本設定) |
該当する言語 | C# |
オプション | csharp_style_var_for_built_in_types |
csharp_style_var_when_type_is_apparent |
|
csharp_style_var_elsewhere |
概要
これら 2 つのスタイル規則は、変数宣言で var キーワードと明示的な型のどちらを使用するかを定義します。 var
を使用するように強制するには、IDE0007
の重大度を警告またはエラーに設定します。 明示的な型を使用するように強制するには、IDE0008
の重大度を警告またはエラーに設定します。
オプション
このルールに関連付けられているオプションは、このスタイル設定を適用する場所を定義します。
- 組み込み型 (csharp_style_var_for_built_in_types)
- 型が明らかな場所 (csharp_style_var_when_type_is_apparent)
- その他の場所 (csharp_style_var_elsewhere)
オプションの構成の詳細については、「オプション形式 を参照してください。
csharp_style_var_for_built_in_types
財産 | 価値 | 説明 |
---|---|---|
オプション名 | csharp_style_var_for_built_in_types | |
オプション値 | true |
var は、int などの組み込みのシステム型で変数を宣言するために用いることが推奨されます。 |
false |
int などの組み込みのシステム型を使用して変数を宣言するには、var よりも明示的な型を優先します |
|
既定のオプション値 | 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
財産 | 価値 | 説明 |
---|---|---|
オプション名 | csharp_style_var_when_type_is_apparent | |
オプション値 | true |
宣言式の右側に型が既に記述されている場合は、var を優先します |
false |
宣言式の右側に型が既に記述されている場合は、明示的な型を優先します | |
既定のオプション値 | 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
財産 | 価値 | 説明 |
---|---|---|
オプション名 | csharp_style_var_elsewhere | |
オプション値 | true |
別のコード スタイル 規則によってオーバーライドされない限り、すべてのケースで明示的な型よりも var を優先する |
false |
別のコード スタイル 規則によってオーバーライドされない限り、すべてのケースで var よりも明示的な型を優先する |
|
既定のオプション値 | false |
// csharp_style_var_elsewhere = true
var f = this.Init();
// csharp_style_var_elsewhere = false
bool f = this.Init();
警告を抑制する
1 つの違反のみを抑制する場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、ルールを再度有効にします。
#pragma warning disable IDE0007 // Or IDE0008
// The code that's violating the rule is on this line.
#pragma warning restore IDE0007 // Or IDE0008
ファイル、フォルダー、またはプロジェクトのルールを無効にするには、その重大度を 構成ファイルに none
に設定します。
[*.{cs,vb}]
dotnet_diagnostic.IDE0007.severity = none
dotnet_diagnostic.IDE0008.severity = none
すべてのコード スタイルルールを無効にするには、カテゴリ Style
の重大度を、構成ファイルに none
するように設定します。
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
詳細については、「コード分析の警告を抑制する方法」を参照してください。
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET