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