оба requiredInterface и представленный тип являются типами
Ответ 3
Я также нашел эту статью статью Скоттом Ханслеманом, чтобы быть особенно полезной с этим. В нем он рекомендует
С#
if (typeof(IWhateverable).IsAssignableFrom(myType)) { ... }
Я закончил работу:
VB.Net
Dim _interfaceList As List(Of Type) = myInstance.GetType().GetInterfaces().ToList()
If _interfaceList.Contains(GetType(IMyInterface)) Then
'Do the stuff
End If
Ответ 4
Вот простой способ определить, реализует ли данная переменная объекта "o" конкретный интерфейс "ISomething":
If o.GetType().GetInterfaces().Contains(GetType(ISomething)) Then
' The interface is implemented
End If
Ответ 5
У меня есть List(Of String), а TypeOf tmp Is IList возвращает False. Список (Of T) реализует несколько интерфейсов (IEnumerable, IList,...) и для проверки только одного требуется следующий фрагмент в VB:
If tmp.GetInterfaces().Contains(GetType(IEnumerable)) Then
// do stuff...
End If