LINQの拡張メソッドの定義で、 <Extension()> Public Function Where(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Integer, Boolean)) ←ここに()で括られた部分がある As IEnumerable(Of TSource) のようにかかれています。
Function メッソッド名(引数)の次に()で括られたものがあり、 その後に、As IEnumerble(Of TSource)となっています。
()で括られた部分は、何をするのでしょうか? 普通は、 Public Shared Function Format (format As String, arg0 As Object) As String こんな感じですよね?
もう一つ、Formを作って、Designerを見ると <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) のように、<>で括られたものがあります。 これは、なんですか?
Dim a As System.Collections.IEnumerable Dim b As System.Collections.Generic.IEnumerable(Of Integer) Dim c As System.Collections.Generic.IEnumerable(Of String) Dim d As System.Collections.Generic.IEnumerable(Of Boolean)
上記の場合、 a.GetEnumerator().Current は As Object b.GetEnumerator().Current は As Integer c.GetEnumerator().Current は As String d.GetEnumerator().Current は As Boolean のようになります。※「IEnumerable」と「IEnumerable(Of T)」は別の型です。