什么是C#“is”关键字的VB.NET等价物?
我需要检查一个给定的对象是否实现了一个接口。 在C#中,我会简单地说:
if (x is IFoo) { }
是使用TryCast()
,然后检查Nothing
最好的办法?
尝试以下
if TypeOf x Is IFoo Then ...
喜欢这个:
If TypeOf x Is IFoo Then
使用此在线Web解决scheme将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
更好。