Compartir a través de


CA1804: Quitar variables locales no utilizadas

Nombre de tipo

RemoveUnusedLocals

Identificador de comprobación

CA1804

Categoría

Microsoft.Performance

Cambio problemático

Poco problemático

Causa

Un método declara una variable local pero no utiliza la variable excepto en algunos casos como el destinatario de una instrucción de asignación. Para obtener un análisis mediante esta regla, el ensamblado probado se debe generar con información de depuración y el archivo de base de datos de programa asociado (.pdb) debe estar disponible.

Descripción de la regla

Las variables locales no usadas y las asignaciones innecesarias aumentan el tamaño de un ensamblado y reducen el rendimiento.

Cómo corregir infracciones

Para corregir una infracción de esta regla, quite o utilice la variable local. Observe que el compilador de C# incluido con .NET Framework 2.0 quita estas variables locales innecesarias cuando se habilita la opción optimize.

Cuándo suprimir advertencias

Suprima una advertencia de esta regla si la variable la generó el compilador. También es seguro suprimir una advertencia de esta regla, o deshabilitar la regla, si el rendimiento y el mantenimiento de código no son prioritarios.

Ejemplo

El siguiente ejemplo muestra varias variables locales que no se utilizan.

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();
      }
   }
}

Reglas relacionadas

CA1809: Evitar el exceso de variables locales

CA1811: Evitar código privado al que no se llama

CA1812: Evitar las clases internas sin instancia

CA1801: Revisar parámetros sin utilizar