У меня есть метод, в котором я беру универсальный объект и использую TypeOf
, чтобы проверить, что было пройдено. Теперь я хотел бы передать ему List(Of T)
(T - что угодно), и независимо от того, что это за T, я бы хотел сделать то же самое с этим списком. Я попробовал следующее:
public sub foo(ByVal obj As Object)
if TypeOf obj Is List(Of Object) Then
'do stuff
end if
end sub
но, похоже, это не сработает, если я передам List(Of String)
, скажем. Я предполагаю, что List(Of Object)
и List(Of String)
рассматриваются как разные объекты, но я подумал, что, поскольку String
является объектом, сравнение может сработать.
Теперь я понимаю, что это так же безобразно, как грех, и мне лучше перегрузить метод, чтобы принять List(Of T)
в качестве его параметра, но я в основном спрашиваю из любопытства: есть ли способ сравнения типов List(Of Object1)
и List(Of Object2)
и получение положительного результата, так как они оба просто List(Of T)
?