CA1025 : Remplacer les arguments répétitifs par un tableau params

Élément Valeur
ID de la règle CA1025
Category Microsoft.Design
Modification avec rupture Sans rupture

Cause

Une méthode publique ou protégée d'un type public a plusieurs paramètres, et ses trois derniers paramètres sont du même type.

Notes

Cette règle est déconseillée. Pour plus d’informations, consultez Règles dépréciées.

Description de la règle

Utilisez un tableau de paramètres au lieu d’arguments répétés lorsque le nombre exact d’arguments est inconnu et lorsque les arguments variables sont de même type ou peuvent être passés comme étant de même type. Par exemple, la méthode WriteLine fournit une surcharge à usage général qui utilise un tableau de paramètres pour accepter un nombre quelconque d’arguments Object.

Comment corriger les violations

Pour remédier à une violation de cette règle, remplacez les arguments répétés par un tableau de paramètres.

Quand supprimer les avertissements

Il est toujours prudent de supprimer un avertissement de cette règle ; toutefois, cette conception pourrait poser des problèmes de convivialité.

Exemple

L’exemple suivant montre un type qui enfreint cette règle.

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) {}
   }
}