名前空間宣言の基本設定 (IDE0160 および IDE0161)

この記事では、IDE0160IDE0161 という 2 つの関連するルールについて説明します。

プロパティ
ルール ID IDE0160
Title ブロック スコープの名前空間を使用する
カテゴリ スタイル
Subcategory 言語規則 (コード ブロック基本設定)
該当言語 C#
[オプション] csharp_style_namespace_declarations
プロパティ
ルール ID IDE0161
Title ファイル スコープの名前空間を使用する
カテゴリ スタイル
Subcategory 言語規則 (コード ブロック基本設定)
該当言語 C#
[オプション] csharp_style_namespace_declarations

概要

これらのルールは、名前空間の宣言に適用されます。 IDE0161 でブロック スコープの名前空間を使用する場合に違反を報告するには、関連付けられているオプションを file_scoped に設定する必要があります。

オプション

オプション値によって、名前空間の宣言をブロック スコープにするかファイル スコープにするかを指定します。 既定では、名前空間の宣言はブロック スコープになります。 このオプションは Visual Studio によって、新しいコード ファイルがプロジェクトに追加されるときに名前空間の宣言方法を決定するために使用されます。 Visual Studio では、IDE0160IDE0161 が両方とも無効になっている場合でも、オプション値が優先されます。

オプションの構成の詳細については、「オプションの書式」を参照してください。

csharp_style_namespace_declarations

プロパティ 説明
オプション名 csharp_style_namespace_declarations
該当言語 C#
導入されたバージョン Visual Studio 2019
オプションの値 block_scoped 名前空間の宣言はブロック スコープにする必要があります。
file_scoped 名前空間の宣言はファイル スコープにする必要があります。
既定のオプションの値 block_scoped
// csharp_style_namespace_declarations = block_scoped
using System;

namespace Convention
{
    class C
    {
    }
}

// csharp_style_namespace_declarations = file_scoped
using System;

namespace Convention;
class C
{
}

警告を抑制する

単一の違反だけを抑制する場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則を再度有効にします。

#pragma warning disable IDE0160 // Or IDE0161
// The code that's violating the rule is on this line.
#pragma warning restore IDE0160 // Or IDE0161

ファイル、フォルダー、またはプロジェクトのルールを無効にするには、構成ファイルでその重要度を none に設定します。

[*.{cs,vb}]
dotnet_diagnostic.IDE0160.severity = none
dotnet_diagnostic.IDE0161.severity = none

すべてのコード スタイル規則を無効にするには、構成ファイルでカテゴリ Style の重要度を none に設定します。

[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none

詳細については、「コード分析の警告を抑制する方法」を参照してください。

こちらもご覧ください