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