我需要檢查一個給定的對象是否實現了一個接口。在C#我只想說:什麼是C#「is」關鍵字的VB.NET等價物?
if (x is IFoo) { }
使用TryCast()
,然後Nothing
最好的辦法檢查?
我需要檢查一個給定的對象是否實現了一個接口。在C#我只想說:什麼是C#「is」關鍵字的VB.NET等價物?
if (x is IFoo) { }
使用TryCast()
,然後Nothing
最好的辦法檢查?
請嘗試以下
if TypeOf x Is IFoo Then
...
像這樣:
If TypeOf x Is IFoo Then
使用this online web solution爲C#轉換爲VB.NET,以及一些其他的代碼轉換。
直接翻譯是:
If TypeOf x Is IFoo Then
...
End If
但(回答你的第二個問題),如果原始代碼是更好的寫法如下
var y = x as IFoo;
if (y != null)
{
... something referencing y rather than (IFoo)x ...
}
然後,是的,
Dim y = TryCast(x, IFoo)
If y IsNot Nothing Then
... something referencing y rather than CType or DirectCast (x, IFoo)
End If
更好。
謝謝/ TypeOf關鍵字是我失蹤 – Tahbaza 2010-07-02 17:10:57