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