特定のオブジェクトがインターフェイスを実装しているかどうかを確認する必要があります。 C#では簡単に言うと:
_if (x is IFoo) { }
_
TryCast()
を使用してから、Nothing
をチェックするのが最善の方法ですか?
次を試してください
if TypeOf x Is IFoo Then
...
このような:
If TypeOf x Is IFoo Then
直訳は次のとおりです。
If TypeOf x Is IFoo Then
...
End If
しかし(2番目の質問に答えるために)元のコードが次のように記述された方がよい場合
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
優れている。