拡張メソッド

Ruby の特異メソッドのような拡張メソッドが Visual Basic 2008 から使えるようになったようです。

Module StringExtenstions
    <System.Runtime.CompilerServices.Extension()> _
    Public Sub Extension(ByVal str As String)
        Console.WriteLine(str & "拡張メソッド!!")
    End Sub
End Module

Module Module1

    Sub Main()
        Dim str As String = "テスト"
        Console.WriteLine(str)            ' => テスト
        str.Extension()                   ' => テスト拡張メソッド!!
    End Sub
End Module