Visual Basic でのクライアント
Visual Basic でのクライアントの完全なソース コードを次に示します。
リスト 1. Visual Basic でのクライアント (ClientVB.vb)
Option Explicit
Option Strict
Imports System
Imports System.Collections
Imports CompCS
Imports CompVB
Imports CompVC
Public Module modmain
' The main entry point for the application.
Sub Main()
Dim Count As Integer
' Display result strings from the C# component.
Dim MyCompCS As New CompCS.StringComponent
Console.WriteLine("Strings from C#
StringComponent")
For Count = 0 To MyCompCS.Count - 1
Console.WriteLine(MyCompCS.GetString(Count))
Next
Console.WriteLine
' Display result strings from the Visual C++ component.
Dim MyCompVC As New CompVC.StringComponent
Console.WriteLine("Strings from Visual C++
StringComponent")
For Count = 0 To MyCompVC.Count - 1
Console.WriteLine(MyCompVC.GetString(Count))
Next
Console.WriteLine
' Display the result strings from the Visual Basic component.
Dim MyCompVB As New CompVB.StringComponent
Console.WriteLine("Strings from Visual Basic
StringComponent")
For Count = 0 To CInt(MyCompVB.Count) - 1
Console.WriteLine(MyCompVB.GetString(Count))
Next
End Sub
End Module
Visual C# の例の using ステートメントのように、Imports ステートメントはライブラリを指定し、名前空間をプログラムに取り込むため、型名を完全限定しなくてもライブラリ内の型を参照できるようになります。しかし、この例では、各コンポーネントの型名 (StringComponent) が同じであるため、あいまいさをなくすためには依然として完全限定名を使用する必要があります。
このクライアント コードは、スコープ解決演算子や、行終了文字がないなどの多少の相違点を除けば、実質的に C++ マネージ拡張および Visual C# の例と同じです。また、使用するライブラリの指定を除いて、3 つの文字列コンポーネントを呼び出すコードのセクションもすべて同じです。C++ マネージ拡張および Visual C# の例と同様に、3 つの各セクションの最初のステートメントが、型 StringComponent の新しいローカル変数を宣言し、宣言した変数を初期化し、そのコンストラクタを呼び出しています。
Dim MyCompCS As New CompCS.StringComponent
クライアントは、文字列をコンソールに書き込み、プログラムがこの部分に到達したことを示してから、Count プロパティの値を使用して適切な文字列コンポーネントのメンバを反復処理します。
For Count = 0 To MyCompVC.Count - 1
Console.WriteLine(MyCompVC.GetString(Count))
Next
以上で必要な処理はすべて完了し、他の 2 つの言語コンポーネントに対しても同じことが繰り返されます。
コマンド ラインからのビルドは非常に簡単です。唯一の変更点は、..\Bin サブディレクトリにコンポーネントを書き込むことだけです。
vbc.exe /t:exe /debug+ /optionstrict+
/reference:..\Bin\CompCS.dll
/reference:..\Bin\CompVB.dll
/reference:..\Bin\CompVC.dll
/out:..\bin\ClientVB.exe ClientVB.vb
参照
Windows フォームを使用する Windows クライアント | ASP.NET を使用するクライアント | 開発チュートリアルのまとめ | 付録 A: 名前空間を検索するためのツール