Rimuovere locali non utilizzati
Aggiornamento: novembre 2007
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 generato 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 istruzioni di assegnazione non necessarie aumentano le dimensioni dell'assembly e riducono le prestazioni.
Correzione di 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 dell'intera 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
Evitare un numero eccessivo di variabili locali
Evitare il codice privato non chiamato