CA1025: Sich wiederholende Argumente durch ein Parameterarray ersetzen
TypeName |
ReplaceRepetitiveArgumentsWithParamsArray |
CheckId |
CA1025 |
Kategorie |
Microsoft.Design |
Unterbrechende Änderung |
Nicht unterbrechend |
Ursache
Eine öffentliche oder geschützte Methode in einem öffentlichen Typ verfügt über mehr als drei Parameter und die letzten drei Parameter sind vom gleichen Typ.
Regelbeschreibung
Verwenden Sie ein Parameterarray statt sich wiederholender Argumente, wenn die genaue Anzahl der Argumente nicht bekannt ist und diese Argumente vom gleichen Typ sind oder als gleicher Typ übergeben werden können.Beispielsweise stellt die WriteLine-Methode eine allgemeine Überladung bereit, die ein Parameterarray verwendet, um eine beliebige Anzahl von Object-Argumenten zu akzeptieren.
Behandeln von Verstößen
Um einen Verstoß gegen dieser Regel zu beheben, ersetzen Sie die wiederholten Argumente durch ein Parameterarray.
Wann sollten Warnungen unterdrückt werden?
Eine Warnung dieser Regel kann immer gefahrlos unterdrückt werden. Diese Konzeption kann jedoch Probleme hinsichtlich der Verwendbarkeit verursachen.
Beispiel
Im folgenden Beispiel wird ein Typ veranschaulicht, der gegen diese Regel verstößt.
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) {}
}
}