CA1025:用形参数组替换重复的实参

类型名

ReplaceRepetitiveArgumentsWithParamsArray

CheckId

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