다음을 통해 공유


CA1025: 반복 인수를 매개 변수 배열로 바꾸십시오.

TypeName

ReplaceRepetitiveArgumentsWithParamsArray

CheckId

CA1025

범주

Microsoft.Design

변경 수준

주요 변경 아님

원인

public 형식의 public 또는 protected 메서드에 네 개 이상의 매개 변수가 있고 마지막 세 개의 매개 변수가 같은 형식입니다.

규칙 설명

인수의 정확한 개수를 알 수 없는데 가변 인수가 같은 형식이거나 같은 형식으로서 전달될 수 있는 경우에는 반복되는 인수 대신 매개 변수 배열을 사용합니다. 예를 들어, 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) {}
   }
}