CA1025: substituir argumentos repetitivos por matriz de parâmetros
TypeName |
ReplaceRepetitiveArgumentsWithParamsArray |
CheckId |
CA1025 |
Categoria |
Microsoft.Design |
Alteração Significativa |
Sem quebra |
Causa
Um público ou um método protegido em um tipo utilitário têm mais de três parâmetros, e seus três parâmetros mais recentes são do mesmo tipo.
Descrição da Regra
Use uma matriz de parâmetro em vez dos argumentos repetidos quando o número exato de argumentos é desconhecido os argumentos e variáveis são do mesmo tipo, ou pode ser passado do mesmo tipo.Por exemplo, o método de WriteLine fornece uma sobrecarga de uso geral que usa uma matriz de parâmetro para aceitar qualquer número de argumentos de Object .
Como Corrigir Violações
Para corrigir uma violação desta regra, substitua os argumentos repetidos com uma matriz de parâmetro.
Quando Suprimir Alertas
É sempre seguro suprimir um aviso desta regra; no entanto, esse design pode causar problemas de usabilidade.
Exemplo
O exemplo a seguir mostra um tipo que viola esta regra.
using System;
namespace DesignLibrary
{
public class BadRepeatArguments
{
// Violates rule: ReplaceRepetitiveArgumentsWithParamsArray.
public void VariableArguments(object obj1, object obj2, object obj3, object obj4) {}
public void VariableArguments(object obj1, object obj2, object obj3, object obj4, object obj5) {}
}
public class GoodRepeatArguments
{
public void VariableArguments(object obj1) {}
public void VariableArguments(object obj1, object obj2) {}
public void VariableArguments(object obj1, object obj2, object obj3) {}
public void VariableArguments(params Object[] arg) {}
}
}