Partilhar via


CA1801: revisar parâmetros não usados

TypeName

ReviewUnusedParameters

CheckId

CA1801

Categoria

Microsoft.Usage

Alteração Significativa

Interrompendo não - se o membro não é visível fora do assembly, independentemente de alteração você use.

Interrompendo não - se você alterar o membro para usar o parâmetro dentro do corpo.

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

Causa

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

  • Métodos referenciados por um representante.

  • Métodos usados como manipuladores de eventos.

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

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

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

  • Métodos declarados com o modificador de extern (instrução deDeclare no Visual Basic).

Descrição da Regra

Os parâmetros de revisar os métodos não virtuais que não são usados no corpo do método para certificar-se de que nenhuma correção existem em torno de falha acessá-los.Os parâmetros não usado incorrem custos de manutenção e de desempenho.

Às vezes uma violação desta regra pode apontar a um bug de implementação do método.Por exemplo, o parâmetro deverá ter sido usado no corpo do método.Suprima avisos dessa regra se o parâmetro precisa existir devido à compatibilidade com versões anteriores.

Como Corrigir Violações

Para corrigir uma violação desta regra, remova o parâmetro não usado (uma alteração) ou usar o parâmetro no corpo do método (uma alteração não interrompendo).

Quando Suprimir Alertas

É seguro suprimir um aviso desta regra para o código anteriormente enviado para a correção será uma alteração.

Exemplo

O exemplo a seguir mostra dois métodos.Um método viola a regra e o outro método obedece à 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: evitar código privado não chamado

CA1812: evitar classes internas sem instâncias

CA1804: remover locais não usados