Compartilhar via


CA1801: Revise os parâmetros não utilizados

TypeName

ReviewUnusedParameters

CheckId

CA1801

<strong>Categoria</strong>

Microsoft.Usage

Alteração significativa

Não separável - se o membro não estiver visível fora do assembly, independentemente da alteração feita.

Não separável - se você alterar o membro para usar o parâmetro dentro do seu corpo.

Quebrando - se você remove o parâmetro e é visível fora do assembly.

Causa

Uma assinatura do método inclui um parâmetro que não é usado no corpo do método.Esta regra não examine os seguintes métodos:

  • Métodos referenciados por um representante.

  • Métodos usados como manipuladores de eventos.

  • Métodos declarados com o abstract (MustOverride em Visual Basic) modificador.

  • Métodos declarados com o virtual (Overridable em Visual Basic) modificador.

  • Métodos declarados com o override (Overrides em Visual Basic) modificador.

  • Métodos declarados com o extern (Declare instrução em Visual Basic) modificador.

Descrição da regra

Revise os parâmetros em métodos não-virtuais que não são usados no corpo do método para certificar-se de que nenhuma correção existe em torno de falha para acessá-los.Parâmetros não utilizados incorrer em custos de manutenção e desempenho.

Às vezes, uma violação desta regra pode apontar para um bug no método de implementação.Por exemplo, o parâmetro deve foram usado no corpo do método.Suprimir Avisos desta regra se o parâmetro tem que existem devido a compatibilidade com versões anteriores.

Como corrigir violações

Para corrigir uma violação desta regra, remova o parâmetro não utilizado (uma alteração significativa) ou use o parâmetro no corpo do método (uma alteração não-separável).

Quando suprimir avisos

É seguro eliminar um aviso esta regra de código lançado anteriormente para o qual a correção seria uma alteração significativa.

Exemplo

O exemplo a seguir mostra dois métodos.Um método viola a regra e o outro método satisfaz a regra.

using System;
using System.Globalization;

namespace Samples
{
    public static class TestClass
    {
        // This method violates the rule.
        public static string GetSomething(int first, int second)
        {
            return first.ToString(CultureInfo.InvariantCulture);
        }

        // This method satisfies the rule.
        public static string GetSomethingElse(int first)
        {
            return first.ToString(CultureInfo.InvariantCulture);
        }
    }
}

Regras relacionadas

CA1811: Evite código particular uncalled

CA1812: Evitar classes internas sem instância

CA1804: Remover variáveis locais não utilizados