방법: Partial 메서드 만들기(Visual Basic)
부분 메서드(Partial Method)는 데이터 유효성 검사를 위해 개발자가 디자이너에서 생성된 코드에 사용자 지정 논리를 삽입할 수 있는 방법을 제공합니다. 부분 메서드를 만드는 과정은 메서드 시그니처를 정의하는 부분과 구현을 작성하는 부분으로 나누어집니다. 일반적으로 정의는 코드 생성자의 디자이너에서 작성되고 구현은 생성된 코드를 사용하는 개발자에 의해 작성됩니다. 자세한 내용은 부분 메서드(Visual Basic)를 참조하십시오.
메서드 시그니처를 정의하려면
Partial 클래스에서 Partial 키워드를 사용하여 시그니처를 시작합니다.
Private을 액세스 한정자로 사용합니다.
Sub 키워드를 추가합니다. 메서드는 하위 프로시저이어야 합니다.
메서드의 이름을 작성합니다.
메서드의 매개 변수 목록을 제공합니다.
End Sub를 사용하여 메서드를 완료합니다.
메서드를 구현하려면
Private을 액세스 한정자로 사용합니다.
포함시키고자 하는 다른 한정자를 추가합니다.
시그니처 정의에 있는 이름과 일치하는 메서드의 이름을 작성합니다.
매개 변수 목록을 추가합니다. 매개 변수 이름은 시그니처에 있는 이름과 일치해야 합니다. 매개 변수 데이터 형식은 생략할 수 있습니다.
메서드 본문을 정의합니다.
End Sub 문을 사용하여 닫습니다.
예제
부분 메서드의 정의와 구현은 일반적으로 Partial 클래스를 사용하여 각각 별도의 파일로 만들어집니다. 일반적으로 부분 메서드의 용도는 프로젝트에 변경된 내용이 있음을 알리는 것입니다.
다음 예제에서는 OnNameChanged라는 부분 메서드를 개발하고 호출합니다. 메서드 시그니처는 Customer.Designer.vb 파일의 Partial 클래스인 Customer에 정의됩니다. 구현은 Customer.vb 파일의 Partial 클래스인 Customer에 작성되며 Customer의 인스턴스는 클래스를 사용하는 프로젝트에서 만들어집니다.
결과는 다음과 같은 메시지가 포함된 메시지 상자로 표시됩니다.
Name was changed to: Blue Yonder Airlines.
' File Customer.Designer.vb provides a partial class definition for
' Customer, which includes the signature for partial method
' OnNameChanged.
Partial Class Customer
Private _Name As String
Property Name() As String
Get
Return _Name
End Get
Set(ByVal value As String)
_Name = value
OnNameChanged()
End Set
End Property
' Definition of the partial method signature.
Partial Private Sub OnNameChanged()
End Sub
End Class
' In a separate file, a developer who wants to use the partial class
' and partial method fills in an implementation for OnNameChanged.
Partial Class Customer
' Implementation of the partial method.
Private Sub OnNameChanged()
MsgBox("Name was changed to " & Me.Name)
End Sub
End Class
Module Module1
Sub Main()
' Creation of cust will invoke the partial method.
Dim cust As New Customer With {.Name = "Blue Yonder Airlines"}
End Sub
End Module