Udostępnij za pośrednictwem


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

TypeName

ReplaceRepetitiveArgumentsWithParamsArray

CheckId

CA1025

Kategoria

Microsoft.Design

Złamanie zmiany

Bez podziału

Przyczyna

Metody publiczne lub chronione w publicznych typ ma więcej niż trzy parametry i jego trzy ostatnie parametry są tego samego typu.

Opis reguły

Przy Tablica parametru zamiast argumentów powtarzających się dokładna liczba argumentów jest nieznany i zmiennymi argumentami są tego samego typu, lub mogą być przekazywane jako tego samego typu.Na przykład WriteLine metoda zapewnia przeciążenie ogólnego przeznaczenia, używający Tablica parametru do akceptowania dowolnej liczby Object argumentów.

Jak naprawić naruszenia

Aby naprawić naruszenie tej zasady, zastąpić powtarzających się argumentów tablica parametru.

Kiedy do pomijania ostrzeżenia

Jest zawsze bezpieczne pomija ostrzeżenia, od tej zasady; Jednakże ten projekt może spowodować problemy użyteczność.

Przykład

Poniższy przykład pokazuje typ, który narusza tej reguły.

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