CA1025: Reemplaza argumentos repetitivos con una matriz de parámetros
TypeName |
ReplaceRepetitiveArgumentsWithParamsArray |
Identificador de comprobación |
CA1025 |
Categoría |
Microsoft.Design |
Cambio problemático |
Poco problemático |
Motivo
Un método público o protegido de un tipo público tiene más de tres parámetros, y los últimos tres parámetros son el mismo tipo.
Descripción de la regla
Utilice una matriz de parámetros de argumentos repetidos cuando se conoce el número exacto de argumentos y los argumentos de variable sean del mismo tipo o puedan pasarse como si fueran del mismo tipo.Por ejemplo, el método WriteLine proporciona una sobrecarga de propósito general que utiliza una matriz de parámetros para aceptar cualquier número de argumentos Object.
Cómo corregir infracciones
Para corregir una infracción de esta regla, reemplace los argumentos repetidos con una matriz de parámetros.
Cuándo suprimir advertencias
Siempre es seguro suprimir una advertencia de esta regla; sin embargo, este diseño podría provocar problemas de uso.
Ejemplo
El siguiente ejemplo muestra un tipo que infringe esta regla.
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) {}
}
}