- ベストアンサー
VB.NETでテンプレート関数・クラス
VB.NET(.NET2.0ベース)でテンプレートを用いてクラスや関数を定義したいのですが、方法が分かりません。検索してもC#やC++ばかり出てきます。 C#が出てくるのだから、VBでも…と思いましたが、CILに展開される際、型毎に多重宣言でもしているんでしょうか? とりあえず、VB.NETでテンプレートの使い方をご教示頂ければ幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
C++ での テンプレートはVB.NETやC#ではジェネリックと呼ばれているものではなかったでしょうか? MSDN C++テンプレートとC#ジェネリックの違い http://msdn.microsoft.com/ja-jp/library/c6cyy67b(v=vs.80).aspx ジェネリックなクラスはList(Of T)のように、インスタンス時に、型を決定します。 クラスの作り方ですが、とりあえず下記のような記述方法です。 Public Class Test(Of T) Public hoge As T Public Sub Show(ByVal val As T) Console.WriteLine("hoge:" + hoge.ToString()) Console.WriteLine(" val:" + val.ToString()) End Sub End Class この場合、インスタンス時に New Test(Of String) とすると、TはString型となり、 New Test(Of Integer) とすると、TはInteger型となります。 詳しい使用方法はMSDNでジェネリックを検索したり、 Googleで「VB.NET ジェネリック クラス」などと検索すると出てくると思います。 ------------------------------------------------------------------------------ 色々と勘違いしていたらすみません。
お礼
ありがとうございます。ジェネリックという単語が出てきていませんでした(http://is.gd/korddb)。コードのサンプルも大変参考になりました。