方法: 演算子を定義するクラスを使用する (Visual Basic)

独自の演算子が定義されているクラスまたは構造体を使用する場合、Visual Basic からそれらの演算子にアクセスできます。

クラスまたは構造体での演算子の定義は、演算子の "オーバーロード" とも呼ばれます。

次の例では、SQL 文字列と Visual Basic 文字列の間の双方向の変換演算子 (CType 関数) が定義されている、SQL 構造体 SqlString にアクセスします。 CType(SQL 文字列式, String) を使用して SQL 文字列を Visual Basic 文字列に変換し、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 への変換演算子 (CType 関数) と、SqlString から String への別の変換演算子が定義されています。 titlejobTitle に割り当てるステートメントでは最初の演算子を使用し、MsgBox 関数呼び出しでは 2 番目の演算子を使用します。

コードのコンパイル

使用しているクラスまたは構造体で、使用する演算子が定義されていることを確認します。 クラスまたは構造体で、オーバーロードに使用できるすべての演算子が定義されていると想定しないでください。 使用可能な演算子の一覧については、「Operator Statement (Operator ステートメント)」をご覧ください。

ソース ファイルの先頭に、SQL 文字列の適切な Imports ステートメントを含めます (この例では System.Data.SqlTypes)。

プロジェクトには、System.Data および System.XML への参照が含まれている必要があります。

関連項目