CA1025 : Remplacer les arguments répétitifs par un tableau params
TypeName |
ReplaceRepetitiveArgumentsWithParamsArray |
CheckId |
CA1025 |
Catégorie |
Microsoft.CSharp |
Modification avec rupture |
Modification sans rupture |
Cause
Une méthode publique ou protégée dans un type public présente plus de trois paramètres, et les trois derniers sont du même type.
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 tout nombre d'arguments Object.
Comment corriger les violations
Pour corriger une violation de cette règle, remplacez les arguments répétés par un tableau de paramètres.
Quand supprimer les avertissements
Par mesure de sécurité, il est systématiquement recommandé de supprimer un avertissement de cette règle ; toutefois, ce design peut engendrer des problèmes d'utilisation.
Exemple
L'exemple suivant affiche un type qui ne respecte pas 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) {}
}
}