문자열이 아닌 참조 형식의 기본 매개 변수 값은 null로만 초기화할 수 있습니다.
예
다음 샘플에서는 CS1763 오류가 발생합니다.
// CS1763.cs (0,0)
class Program
{
public void Goo<T, U>(T t = default(U)) where U : T
{
}
static void Main(string[] args)
{
}
}
이 예제에서는 CS1763이 생성됩니다. U가 기본 클래스 T에서 파생된다는 제약 조건에도 불구하고 매개 변수 유형이 T일 때 Goo<T,U> 매개 변수가 기본값 default(U)로 선언되기 때문입니다.
이 오류를 해결하려면
해당 형식 인수를 사용하도록 default(U)를 변경하면 이 오류가 수정됩니다.
public void Goo<T, U>(T t = default(T)) where U : T
{
}
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET