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

更新 : 2007 年 11 月

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

クラスまたは構造体で演算子を定義することを、演算子をオーバーロードするといいます。

使用例

次の例では、SQL 文字列と Visual Basic 文字列を相互に変換する変換演算子 (CType 関数) を定義する SQL 構造体 SqlString にアクセスします。SQL 文字列を Visual Basic 文字列に変換するには CType(SQL string expression, String)を使用し、逆の変換を行うには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 関数) を定義します。title を jobTitle に代入するステートメントは最初の演算子を使用し、MsgBox 関数 (Visual Basic) の呼び出しは 2 つ目の演算子を使用します。

コードのコンパイル方法

使用しているクラスまたは構造体が、必要な演算子を定義していることを確認してください。クラスまたは構造体が、オーバーロード可能なすべての演算子を定義しているとは限りません。利用可能な演算子の一覧については、「Operator ステートメント」 を参照してください。

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

プロジェクトには、System.Data および System.XML への参照が必要です。追加する方法については、「方法 : Visual Studio で参照を追加および削除する (C#)」を参照してください。

参照

処理手順

方法 : 演算子を定義する

方法 : 変換演算子を定義する

方法 : 演算子プロシージャを呼び出す

方法 : 構造体を宣言する

概念

演算子プロシージャ

暗黙の型変換と明示的な型変換

拡大変換と縮小変換

参照

Widening

Narrowing

Structure ステートメント