Framework2.0のInterfaceについて教えてください。

特定のIFを実装していたらIF経由で関数を実行するロジックで

If (TestClass.GetType.GetInterface(GetType(TestInterface).Name) IsNot Nothing) Then
TestIF = TestClass
TestIF.TestSub()
End If

とやっているんですが、GetInterface以外に取得する方法ありますか?

HasInterface(String) As Boolean とか
GetInterface(System.Type) As Object(指定した型の実体を返す)
とかなら判るのですが、何故わざわざStringで受けているのかが判らない