CA1708:識別子は、大文字と小文字の区別以外にも相違していなければなりません
プロパティ | 値 |
---|---|
ルール ID | CA1708 |
Title | 識別子は、大文字と小文字の区別以外にも相違していなければなりません |
[カテゴリ] | 名前を付ける |
修正が中断ありか中断なしか | あり |
.NET 9 では既定で有効 | いいえ |
原因
型、メンバー、パラメーター、または完全修飾名前空間の 2 つの名前が、小文字に変換されると、同じになります。
既定では、この規則の対象は外部から参照可能な型とメンバーのみですが、これは構成可能です。
規則の説明
名前空間、型、メンバー、およびパラメーターの各識別子は、大文字/小文字以外のみでは区別できません。共通言語ランタイムを対象とする言語は、大文字と小文字を区別する必要はないためです。 たとえば、Visual Basic は大文字と小文字を区別しない、広く使用されている言語です。
違反の修正方法
大文字と小文字が区別されず、他の識別子と比較して一意になる名前を選択します。
どのようなときに警告を抑制するか
この規則による警告は抑制しないでください。 このライブラリは、.NET で使用できる言語すべてで利用できない可能性があります。
分析するコードを構成する
次のオプションを使用して、コードベースのどの部分に対してこの規則を実行するか構成します。
このオプションを構成できる対象は、この規則だけ、それを適用するすべての規則、それを適用するこのカテゴリ (名前付け) のすべての規則のいずれかです。 詳細については、「コード品質規則の構成オプション」を参照してください。
特定の API サーフェイスを含める
ユーザー補助に基づいて、この規則を実行するコードベースの部分を構成できます。 たとえば、非パブリック API サーフェイスでのみ規則を実行するように指定するには、プロジェクトの .editorconfig ファイルに次のキーと値のペアを追加します。
dotnet_code_quality.CAXXXX.api_surface = private, internal
違反の例
次に、この規則違反の例を示します。
public class Class1
{
protected string someName;
public string SomeName => someName;
}
次に、この違反を修正する一例を示します
public class Class1
{
protected string _someName;
public string SomeName => _someName;
}
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET