• ベストアンサー

VB.NETでテンプレート関数・クラス

VB.NET(.NET2.0ベース)でテンプレートを用いてクラスや関数を定義したいのですが、方法が分かりません。検索してもC#やC++ばかり出てきます。 C#が出てくるのだから、VBでも…と思いましたが、CILに展開される際、型毎に多重宣言でもしているんでしょうか? とりあえず、VB.NETでテンプレートの使い方をご教示頂ければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • ymmryk
  • ベストアンサー率100% (1/1)
回答No.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 ジェネリック クラス」などと検索すると出てくると思います。 ------------------------------------------------------------------------------ 色々と勘違いしていたらすみません。

参考URL:
http://msdn.microsoft.com/ja-jp/library/w256ka79.aspx
sumire_kanou
質問者

お礼

ありがとうございます。ジェネリックという単語が出てきていませんでした(http://is.gd/korddb)。コードのサンプルも大変参考になりました。

関連するQ&A