Подтвердить что ты не робот

Что такое эквивалент VB.NET ключевого слова С#?

Мне нужно проверить, реализует ли данный объект интерфейс. В С# я просто сказал бы:

if (x is IFoo) { }

Использует TryCast(), а затем лучше проверяет Nothing?

4b9b3361

Ответ 1

Попробуйте выполнить

if TypeOf x Is IFoo Then 
  ...

Ответ 2

Вот так:

If TypeOf x Is IFoo Then

Ответ 3

Используйте это онлайн-решение для конвертации С# в VB.NET, а также ряд других кодовых преобразований.

Ответ 4

Прямой перевод:

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

лучше.