Partilhar via


CA1804: Remover locals não utilizados

TypeName

RemoveUnusedLocals

CheckId

CA1804

<strong>Categoria</strong>

Microsoft.Performance

Alteração significativa

Não-separável

Causa

Um método declara uma variável local, mas não usa a variável, exceto possivelmente como o destinatário de uma instrução de atribuição. Para análise por esta regra, o assembly testado deve ser construído com informações de depuração e o arquivo de banco de dados (. PDB) do programa associado deve estar disponível.

Descrição da regra

Variáveis locais não utilizadas e atribuições desnecessárias aumentam o tamanho de um assembly e diminuem o desempenho.

Como corrigir violações

Para corrigir uma violação desta regra, remover ou usar a variável local. Observe que o compilador C# que é incluído com o .NET Framework 2.0 remove variáveis de locais não utilizadas quando o optimize opção é ativada.

Quando suprimir avisos

Se a variável foi emitido de compilador, suprimir um aviso da regra. Também é seguro para suprimir um aviso da regra ou para desabilitar a regra, se o desempenho e manutenção de código não são principais preocupações.

Exemplo

O exemplo a seguir mostra as diversas variáveis de locais não utilizadas.

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

Regras relacionadas

CA1809: Evite locals excessivas

CA1811: Evite código privado de uncalled

CA1812: Evite sem instância classes internas

CA1801: Revise os parâmetros não utilizados