Udostępnij za pośrednictwem


CA1025: Zastąp powtarzające się argumenty tabelą parametrów

Pozycja Wartość
Ruleid CA1025
Kategoria Microsoft.Design
Zmiana powodująca niezgodność Niezgodność

Przyczyna

Publiczna lub chroniona metoda w typie publicznym ma więcej niż trzy parametry, a jego ostatnie trzy parametry są tego samego typu.

Uwaga

Ta reguła została przestarzała. Aby uzyskać więcej informacji, zobacz Przestarzałe reguły.

Opis reguły

Użyj tablicy parametrów zamiast powtarzających się argumentów, gdy dokładna liczba argumentów jest nieznana, a argumenty zmiennych są tego samego typu lub mogą być przekazywane jako ten sam typ. Na przykład WriteLine metoda udostępnia przeciążenie ogólnego przeznaczenia, które używa tablicy parametrów do akceptowania dowolnej liczby argumentów Object .

Jak naprawić naruszenia

Aby naprawić naruszenie tej reguły, zastąp powtarzające się argumenty tablicą parametrów.

Kiedy pomijać ostrzeżenia

Zawsze można bezpiecznie pominąć ostrzeżenie z tej reguły; jednak ten projekt może powodować problemy z użytecznością.

Przykład

W poniższym przykładzie pokazano typ naruszający tę regułę.

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