방법: 연산자를 정의하는 클래스 사용(Visual Basic)
연산자를 자체적으로 정의하는 클래스나 구조체를 사용하는 경우 Visual Basic에서는 해당 연산자에 액세스할 수 있습니다.
클래스 또는 구조체에서 연산자를 정의하는 것을 연산자 오버로딩이라고도 합니다.
예제
다음 예제에서는 SQL 문자열과 Visual Basic 문자열 사이의 양방향 변환 연산자(CType 함수(Visual Basic))를 정의하는 SQL 구조체 SqlString에 액세스합니다.CType(SQL string expression, String)을 사용하여 SQL 문자열을 Visual Basic 문자열로 변환하고 CType(Visual Basic string expression, SqlString)을 사용하여 반대 방향으로 변환합니다.
' Insert the following line at the beginning of your source file.
Imports System.Data.SqlTypes
Public Sub setJobString(ByVal g As Integer)
Dim title As String
Dim jobTitle As System.Data.SqlTypes.SqlString
Select Case g
Case 1
title = "President"
Case 2
title = "Vice President"
Case 3
title = "Director"
Case 4
title = "Manager"
Case Else
title = "Worker"
End Select
jobTitle = CType(title, SqlString)
MsgBox("Group " & CStr(g) & " generates title """ &
CType(jobTitle, String) & """")
End Sub
SqlString 구조체는 String을 SqlString으로, SqlString을 String으로 변환하는 변환 연산자(CType 함수(Visual Basic))를 정의합니다.title을 jobTitle에 할당하는 문에서는 첫 번째 연산자를 사용하고, MsgBox 함수 호출에서는 두 번째 연산자를 사용합니다.
코드 컴파일
사용 중인 클래스나 구조체에서 사용할 연산자를 정의해야 합니다.연산자를 정의한 클래스나 구조체라도 오버로드에 사용할 수 없는 경우가 있습니다.사용할 수 있는 연산자의 목록은 Operator 문을 참조하십시오.
소스 파일의 시작 부분에 SQL 문자열에 적합한 Imports 문(여기서는 System.Data.SqlTypes)을 포함합니다.
현재 프로젝트에서는 System.Data와 System.XML에 대한 참조를 사용해야 합니다.