共用方式為


CA1025:必須以參數陣列取代重複的引數

型別名稱

ReplaceRepetitiveArgumentsWithParamsArray

CheckId

CA1025

分類

Microsoft.Design

中斷變更

中斷

原因

公用或型別中的公用或保護之方法的參數超過三個,而且它的最後三個參數都是相同的型別。

規則描述

當引數的正確數目未知,而且變數引數 (Variable Argument) 都是相同的型別 (或可以相同的型別傳遞) 時,需使用參數陣列而不是重複的引數。 例如,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) {}
   }
}