CA1804: rimuovere locali non utilizzati
TypeName |
RemoveUnusedLocals |
CheckId |
CA1804 |
Category |
Microsoft.Performance |
Breaking Change |
Non sostanziale |
Causa
Un metodo dichiara una variabile locale, ma non utilizza la variabile se non come destinatario di un'istruzione di assegnazione.Affinché venga eseguita un'analisi tramite questa regola, l'assembly testato deve essere compilato con informazioni di debug e il file di database del programma associato (pdb) deve essere disponibile.
Descrizione della regola
Le variabili locali inutilizzate e le assegnazioni non necessarie comportano un aumento delle dimensioni dell'assembly e una riduzione delle prestazioni.
Come correggere le violazioni
Per correggere una violazione di questa regola, rimuovere o utilizzare la variabile locale.Si noti che il compilatore C# incluso con .NET Framework 2.0 rimuove le variabili locali inutilizzate quando l'opzione optimize è attivata.
Esclusione di avvisi
Escludere un avviso da questa regola se la variabile è stata creata dal compilatore.L'esclusione di un avviso da questa regola o la disattivazione della regola è sicura anche se le prestazioni e la manutenzione del codice non sono prioritarie.
Esempio
Nell'esempio riportato di seguito vengono illustrate alcune variabili locali inutilizzate.
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();
}
}
}
Regole correlate
CA1809: Evitare un numero eccessivo di variabili locali
CA1811: Evitare il codice privato non chiamato