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