다음을 통해 공유


방법: 연산자를 정의하는 클래스 사용(Visual Basic)

자체 연산자를 정의하는 클래스 또는 구조를 사용하는 경우 Visual Basic에서 해당 연산자에 액세스할 수 있습니다.

클래스 또는 구조체에서 연산자를 정의하는 것을 일컬어 연산자 오버로드라고 합니다.

예시

다음 예제에서는 SQL 문자열과 Visual Basic 문자열 간의 양방향 변환 연산자(CType Function)를 정의하는 SQL 구조인 SqlString에 액세스합니다. SQL 문자열을 Visual Basic 문자열로 변환하려면 CType(SQL 문자열 식String)을 사용하고, 다른 방향으로 변환하려면 CType(Visual Basic 문자열 식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 함수)를 정의합니다. titlejobTitle에 대입하는 문은 첫 번째 연산자를 사용하고, MsgBox 함수 호출은 두 번째 연산자를 사용합니다.

코드 컴파일

사용 중인 클래스 또는 구조체가 사용하려는 연산자를 정의해야 합니다. 클래스 또는 구조체가 오버로드에 사용할 수 있는 모든 연산자를 정의한다고 가정하지 마세요. 사용 가능한 연산자 목록은 연산자 문을 참조하세요.

원본 파일의 시작 부분에 SQL 문자열에 대한 적절한 Imports 문을 포함합니다(이 경우에는 System.Data.SqlTypes).

프로젝트에 System.Data 및 System.XML에 대한 참조가 있어야 합니다.

참고 항목