CA2204: リテラルは正しく入力されていなければなりません

Item [値]
規則 ID CA2204
カテゴリ Microsoft.Usage
互換性に影響する変更点 なし

原因

リテラル文字列は、ローカライズ可能なパラメーターの引数として渡されるか、ローカライズ可能なプロパティに渡されます。文字列には、Microsoft スペル チェック ライブラリで認識されない 1 つ以上の単語が含まれています。

規則の説明

この規則では、次の 1 つ以上のケースに該当する場合に、値としてパラメーターまたはプロパティに渡されるリテラル文字列をチェックします。

  • パラメーターまたはプロパティの LocalizableAttribute 属性が true に設定されています。

  • パラメーターまたはプロパティ名に、"Text"、"Message"、または "Caption" が含まれています。

  • Write または WriteLine() メソッドに渡される文字列変数の名前は、"value" または "format" のいずれかです。

この規則では、リテラル文字列を単語へと解析し、複合語をトークン化し、各単語またはトークンのスペルをチェックします。 解析アルゴリズムの詳細については、「CA1704: 識別子は正しく入力されなければなりません」を参照してください。

言語

スペル チェックでは現在、英語ベースのカルチャ辞書に対してのみチェックが実行されます。 プロジェクト ファイル内のプロジェクトのカルチャを変更するには、CodeAnalysisCulture 要素を追加します。

たとえば次のような点です。

<Project ...>
  <PropertyGroup>
    <CodeAnalysisCulture>en-AU</CodeAnalysisCulture>

重要

カルチャを英語ベースのカルチャ以外に設定した場合、このコード分析規則は警告なしで無効になります。

違反の修正方法

この規則の違反を修正するには、単語のスペルを修正するか、またはカスタム辞書に単語を追加します。 カスタム辞書の使用方法の詳細については、「方法: コード分析辞書をカスタマイズする」を参照してください。

どのようなときに警告を抑制するか

この規則による警告は抑制しないでください。 正しい綴りの単語を使用すると、新しいソフトウェア ライブラリに必要な学習曲線が減ります。