2011-08-09 5 views
2

Im new to VB。私はJavaの背景から来ています。次のコードでVBのジェネリックスに関するヘルプ

 

Sub PrintList(Of T)(ByVal list As List(Of T)) 
     For Each obj As T In list 
      Console.Write(obj.ToString() + " ") 
     Next 
     Console.WriteLine() 
    End Sub 
 

Sub PrintList(Of T)(ByVal list As List(Of T))の意味を理解できますか? なぜ(Of T)の部分が必要ですか? (ByVal list As List(Of T))で十分ではないのはなぜですか? PrintList(Of T)は、Javaバージョンでvoid<T>と同等です

public static <T> void printList(List<T> list) 

答えて

5

はJavaでは、これは何かのようになります。つまり、ジェネリックメソッドの型パラメータを宣言しています。

1

Jon Skeetが言っていることに加えて、このサブはどのようなタイプのリストも取ることができるようです。 PrintList(Of T)が単なるPrintListの場合、あなたのパラメータに使用するListのタイプを指定することができません。あなたはもはや2つの異なるタイプのリストを取って、このサブに2つの呼び出しを持たせることはできません。私はリストの2つの異なるタイプの意味は何

は次のとおりです。

List(of string) 
List(of integer) 
関連する問題