比较稳妥的方案是:

第一种 
     Dim p1 As New TestOut

        If (p1.GetType().GetInterface(“ITest”Is NothingThen
            System.Console.Write(“No interface”)
        Else
            CType(p1, ITest).testOut()
        End If
第二种
        Dim p1 As New TestOut
        Dim p2 As ITest = TryCast(p1, ITest)
        If (p2 Is NothingThen
            System.Console.Write(“No interface”)
        Else
            CType(p1, ITest).testOut()
        End If
第三种,不推荐

上图这种方式,不推荐,需要异常处理