方法 : 演算子を定義するクラスを使用する
更新 : 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#)」を参照してください。