CA1804: 使用されていないローカルを削除します
TypeName |
RemoveUnusedLocals |
CheckId |
CA1804 |
分類 |
Microsoft.Performance |
互換性に影響する変更点 |
なし |
原因
メソッドでローカル変数を宣言していますが、その変数を使用していません。ただし、代入ステートメントの受け取りとして使用されている可能性はあります。 この規則違反を解析するには、テスト対象のアセンブリをデバッグ情報を含めてビルドします。また、関連するプログラム データベース (.pdb) ファイルを使用できるようにします。
規則の説明
使用されていないローカル変数や不要な引数があると、アセンブリのサイズが大きくなり、パフォーマンスが低下します。
違反の修正方法
この規則違反を修正するには、そのローカル変数を削除するか、使用します。 .NET Framework 2.0 に同梱される C# コンパイラは、optimize オプションが有効である場合、このような未使用のローカル変数を削除します。
警告を抑制する状況
そのローカル変数がコンパイラで生成された場合は、この規則による警告を抑制します。 また、パフォーマンスとコードの保守が重要ではない場合、この規則による警告を抑制するか、この規則を無効にしても安全です。
使用例
使用されていないローカル変数を次の例にいくつか示します。
Imports System
Imports System.Windows.Forms
Namespace PerformanceLibrary
Public Class UnusedLocals
Sub SomeMethod()
Dim unusedInteger As Integer
Dim unusedString As String = "hello"
Dim unusedArray As String() = Environment.GetLogicalDrives()
Dim unusedButton As New Button()
End Sub
End Class
End Namespace
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();
}
}
}
関連規則
CA1811: 呼び出されていないプライベート コードを使用しません