Поделиться через


CA1025: замените повторяющиеся аргументы массивом параметров

Товар Значение
Идентификатор правила CA1025
Категория Microsoft.Design
Критическое изменение Не критическое

Причина

Открытый или защищенный метод в общедоступном типе имеет более трех параметров, а последние три параметра — один и тот же тип.

Примечание.

Это правило устарело. Дополнительные сведения см. в разделе "Устаревшие правила".

Описание правила

Используйте массив параметров вместо повторяющихся аргументов, если точное число аргументов неизвестно, а аргументы переменной совпадают с типом или могут быть переданы как один и тот же тип. Например, метод WriteLine предоставляет перегрузку общего назначения, которая использует массив параметров для принятия любого числа Object аргументов.

Устранение нарушений

Чтобы устранить нарушение этого правила, замените повторяющиеся аргументы массивом параметров.

Когда лучше отключить предупреждения

Это всегда безопасно для подавления предупреждения из этого правила; однако эта конструкция может привести к проблемам с удобством использования.

Пример

В следующем примере показан тип, нарушающий это правило.

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