Freigeben über


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