Partilhar 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 é 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ê remover 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) modificadora.

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

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

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

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 dessa regra se o parâmetro deve 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 essa regra para que a correção seria uma alteração significativa de código lançado anteriormente.

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 privado de uncalled

CA1812: Evite sem instância classes internas

CA1804: Remover locals não utilizados