次の方法で共有


コンパイラの警告 (レベル 3) CS0414

プライベート フィールド 'field' は割り当てられますが、その値は使用されません

この警告は、明示的な ビルド 操作または 再構築 操作中にのみ報告されます。 これは、IntelliSense 診断の一部として IDE での入力中には表示されません。 つまり、フィールドを使用するか削除して警告を修正した場合、プロジェクトをもう一度ビルドまたはリビルドするまで、警告がエラー一覧に保持される可能性があります。

この警告は、コンパイラが変数が参照されないことを確認できるいくつかのシナリオで発生する可能性があります。

  • プライベート フィールドには定数値が割り当てられますが、その後読み取されることはありません。 不要な割り当てがパフォーマンスに影響する可能性があります。 フィールドを削除することを検討してください。

  • プライベートまたは内部の静的フィールドには、初期化子でのみ定数値が割り当てられます。 フィールドを const に変更することを検討してください。

  • プライベート フィールドまたは内部フィールドには定数値が割り当てられ、#ifdef ディレクティブによって除外されるブロックでのみ使用されます。 #ifdef ブロック内にフィールドを配置することを検討してください。

  • プライベート フィールドまたは内部フィールドには、複数の場所に定数値が割り当てられますが、それ以外の場合はアクセスされません。 フィールドが不要な場合は、フィールドを削除することを検討してください。 それ以外の場合は、適切な方法で使用します。

その他の状況や、推奨される回避策が許容できない場合は、#pragma 0414 を使用します。

次の例は、CS0414 が生成される 1 つの方法を示しています。

// CS0414
// compile with: /W3
class C
{
   private int i = 1;  // CS0414

   public static void Main()
   { }
}

変数 iprotected または publicとして宣言されている場合、派生クラスが使用される可能性があるかどうか、または他のクライアント コードがクラスをインスタンス化して変数を参照する可能性があるかどうかをコンパイラが認識できないため、エラーは生成されません。

こちらも参照ください