Partilhar via


Examine os parâmetros não utilizados

TypeName

ReviewUnusedParameters

CheckId

CA1801

Category (Categoria)

Microsoft.desempenho

Quebrando alterar

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

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

Dividindo - se você remover o parâmetro e está visível fora do assembly.

Causa

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

  • Métodos referenciados por um delegado.

  • Métodos usados sistema autônomo manipuladores de eventos.

  • Métodos declarados com o abstract (MustOverride no Visual Basic) modificadora.

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

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

  • Métodos declarados com o extern (Declare modificador de demonstrativo no Visual Basic).

Descrição da regra

Examine os parâmetros em métodos não virtual nã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 pagar os custos de manutenção e desempenho.

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

Como corrigir violações

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

Quando suprimir avisos

É seguro eliminar um aviso esta regra de código anteriormente enviada para que a correção seria uma alterar significativa.

Exemplo

O exemplo a seguir mostra dois métodos.Um método viola a regra e o Outros 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

Evitar uncalled código privado

Evitar sem instância classes internas

Remover locais não utilizados