CA1716:識別子はキーワードと同一にすることはできません
プロパティ | 値 |
---|---|
ルール ID | CA1716 |
Title | 識別子はキーワードと同一にすることはできません |
[カテゴリ] | 名前を付ける |
修正が中断ありか中断なしか | あり |
.NET 8 では既定で有効 | いいえ |
原因
名前空間、型、または仮想メンバーまたはインターフェイス メンバーの名前がプログラミング言語の予約されたキーワードと一致しています。
デフォルトでは、この規則の対象は外部から参照可能な名前空間、型、およびメンバーのみですが、可視性と記号の種類を構成することができます。
規則の説明
名前空間、型、および仮想メンバーおよびインターフェイス メンバーの識別子は、共通言語ランタイムを対象にする言語で定義されているキーワードと一致しないようにします。 使用されている言語とキーワードによっては、コンパイラ エラーとあいまいさによってライブラリを使用するのが困難になることがあります。
この規則では、次の言語のキーワードについて確認します。
- Visual Basic
- C#
- C++/CLI
Visual Basic のキーワードには大文字と小文字を区別しない比較が使用され、その他の言語では大文字と小文字を区別する比較が使用されます。
違反の修正方法
キーワードの一覧に現れない名前を選択してください。
どのようなときに警告を抑制するか
識別子が API のユーザーを混乱させないこと、およびライブラリが .NET で使用可能なすべての言語で使用可能であることが確信できる場合は、この規則による警告を抑制することができます。
警告を抑制する
単一の違反を抑制するだけの場合は、ソース ファイルにプリプロセッサ ディレクティブを追加して無効にしてから、規則をもう一度有効にします。
#pragma warning disable CA1716
// The code that's violating the rule is on this line.
#pragma warning restore CA1716
ファイル、フォルダー、またはプロジェクトの規則を無効にするには、構成ファイルでその重要度を none
に設定します。
[*.{cs,vb}]
dotnet_diagnostic.CA1716.severity = none
詳細については、「コード分析の警告を抑制する方法」を参照してください。
分析するコードを構成する
次のオプションを使用して、コードベースのどの部分に対してこの規則を実行するかを構成します。
これらのオプションを構成できる対象は、この規則だけ、それを適用するすべての規則、それを適用するこのカテゴリ (名前付け) のすべての規則のいずれかです。 詳細については、「コード品質規則の構成オプション」を参照してください。
特定の API サーフェイスを含める
ユーザー補助に基づいて、この規則を実行するコードベースの部分を構成できます。 たとえば、非パブリック API サーフェイスでのみ規則を実行するように指定するには、プロジェクトの .editorconfig ファイルに次のキーと値のペアを追加します。
dotnet_code_quality.CAXXXX.api_surface = private, internal
分析されたシンボルの種類
この規則によって分析されるシンボルの種類を構成できます。 次の値を使用できます。
Namespace
NamedType
Method
Property
Event
Parameter
複数の値はコンマ (,
) で区切ります。 既定値には、前の一覧のすべての種類の記号が含まれます。
dotnet_code_quality.CA1716.analyzed_symbol_kinds = Namespace, NamedType, Method, Property, Event
.NET