방법: 프로시저의 선택적 매개 변수 정의
업데이트: 2007년 11월
호출 코드가 프로시저를 호출할 때 인수를 제공할 필요가 없도록 프로시저 매개 변수를 선택적 요소로 지정할 수 있습니다. 그렇게 할 경우 인수가 제공되지 않을 때 프로시저에 사용되는 기본값을 정의합니다.
여러 개의 선택적 매개 요소를 정의할 수 있지만 모든 선택적 매개 변수는 매개 변수 목록의 끝에 와야 합니다. 모든 필수 매개 변수는 모든 선택적 매개 변수의 앞에 와야 합니다.
선택적 매개 변수를 정의하려면
프로시저 선언에서 매개 변수 목록의 매개 변수 이름 다음에 Optional 키워드를 지정합니다.
보통 때처럼 매개 변수 이름 다음에 As 절을 지정하고 As 절 다음에 등호(=)를 지정합니다.
등호 다음에 매개 변수에 대한 기본값을 지정합니다. 컴파일러가 컴파일 타임에 완전하게 계산할 수 있도록 이 값은 상수 식이어야 합니다.
모든 후속 매개 변수를 Optional로 선언해야 합니다.
예제
다음 예제에서는 선택적 매개 변수를 사용한 프로시저 선언을 보여 줍니다.
Sub notify(ByVal company As String, Optional ByVal office As String = "QJZ")
If office = "QJZ" Then
Debug.WriteLine("office not supplied -- using Headquarters")
office = "Headquarters"
End If
' Insert code to notify headquarters or specified office.
End Sub
호출 코드가 인수 목록에 office 값을 제공하지 않는 경우 Visual Basic은 기본값 "QJZ"를 제공합니다.
코드 컴파일
프로시저 선언에서 모든 선택적 매개 변수에 대한 기본값을 지정해야 합니다. 각 기본값은 컴파일러가 컴파일 타임에 계산할 수 있는 상수여야 합니다.