Share via


CA1804: 使用されていないローカルを削除します

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

原因

メソッドはローカル変数を宣言していますが、変数を使用しません (おそらく代入ステートメントの受信側としての場合を除き)。 この規則による解析のためには、テストされるアセンブリをデバッグ情報を使用してビルドし、関連付けられているプログラムのデータベース (.pdb) ファイルが使用できる必要があります。

規則の説明

使用されていないローカル変数や不要な引数があると、アセンブリのサイズが大きくなり、パフォーマンスが低下します。

違反の修正方法

この規則違反を修正するには、ローカル変数を削除するか、使用します。

Note

optimize オプションが有効になっている場合、C# コンパイラによって、使用されていないローカル変数が削除されます。

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

変数がコンパイラによって生成された場合、この規則からの警告を抑制します。 パフォーマンスやコードのメンテナンスが主要な懸案事項でない場合は、この規則による警告を抑制したり、規則を無効にしたりしても問題ありません。

次の例では、使用されていないいくつかのローカル変数を示しています。

using System;
using System.Windows.Forms;

namespace PerformanceLibrary
{
   public class UnusedLocals
   {
      public void SomeMethod()
      {
         int unusedInteger;
         string unusedString = "hello";
         string[] unusedArray = Environment.GetLogicalDrives();
         Button unusedButton = new Button();
      }
   }
}

CA1809: ローカルを使用しすぎないでください

CA1811: 呼び出されていないプライベート コードを使用しません

CA1812:インスタンス化されていない内部クラスを使用しません

CA1801:使用されていないパラメーターの確認