One minute
Generic Methods…
Someone suggested to me that VB.NET Whidbey didn’t have support for ‘Generic Methods’, so I quickly wrote a bit of sample code to check (yes, it does support Generic Methods) and I thought I’d post that test code for your amusement.
Public Class GenericMethodSample
Public Sub Swap(Of T)(ByRef i As T, ByRef j As T)
Dim temp As T
temp = j
j = i
i = temp
End Sub
End Class
Public Class Sample
Public Sub TestSwap()
Dim i, j As Integer
i = 3
j = 12
Debug.WriteLine(i)
Debug.WriteLine(j)
Debug.WriteLine("-------")
Dim gm As New GenericMethodSample
gm.Swap(Of Integer)(i, j)
Debug.WriteLine(i)
Debug.WriteLine(j)
End Sub
End Class
If you need the ‘blow-by-blow’ explanation of that code… the key lines to notice are;
Public Sub Swap(Of T)(ByRef i As T, ByRef j As T)
Which declares a “Generic Method”, which is then strongly typed at runtime via code like this;
gm.Swap(Of Integer)(i, j)
[Update]: Paul Vick points out that (Of Integer) can be skipped on the call, making it just
gm.Swap(i, j)
because the compiler will infer the correct type argument.
Thoughts on this post? Feel free to reach out on Bluesky!