Condividi tramite


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

CA1812: Evitare classi interne prive di istanze

CA1801: Rivedere i parametri inutilizzati