Compartilhar via


Substituir argumentos repetitivos por matriz params

TypeName

ReplaceRepetitiveArgumentsWithParamsArray

CheckId

CA1025

Category (Categoria)

Microsoft.Design

Quebrando alterar

Não separável

Causa

Um método público ou protegido em um tipo público tem mais de três parâmetros e seus três últimos parâmetros são do mesmo tipo.

Descrição da regra

Use uma matriz de parâmetro em vez de argumentos repetidos quando o número exato de argumentos é desconhecido e argumentos variáveis são do mesmo tipo, ou podem ser passados sistema autônomo o mesmo tipo.Por exemplo, a WriteLine método fornece uma sobrecarga de uso geral que utiliza uma matriz de parâmetro para aceitar qualquer número de Object argumentos.

Como corrigir violações

Para corrigir uma violação dessa regra, substitua os argumentos repetidos uma matriz de parâmetro.

Quando suprimir avisos

É sempre seguro eliminar um aviso da regra; no entanto, esse design pode causar problemas de usabilidade.

Exemplo

O exemplo a seguir mostra um tipo que violam essa 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) {}
   }
}