선택적 매개 변수는 모든 필수 매개 변수 다음에 와야 합니다.
컴파일러는 필수 매개 변수 앞에 선언되는 선택적 매개 변수를 지원하지 않습니다. 선택적 매개 변수는 모든 필수 매개 변수 다음에 와야 합니다.
예
다음 샘플에서는 CS1737 경고가 발생합니다.
// CS1737.cs (7,45)
class C
{
static void F(object? x)
{
G(y: x);
}
static void G(object? x = null, object y)
{
}
}
이 오류를 해결하려면
선택적 매개 변수에 대한 값이 사용되지 않았기 때문에 메서드를 호출하는 기존 코드에 영향을 주지 않으면서 이 메서드의 서명을 변경할 수 있습니다. 다음은 그 예입니다.
// CS1737.cs (7,45)
class C
{
static void F(object? x)
{
G(y: x);
}
static void G(object y, object? x = null)
{
}
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET