У меня есть два объекта, которые являются производными от одного базового класса.
Допустим, ObjA является базовым классом, а ClassB и ClassC наследуют ObjA.
Если у меня есть
dim lst1 as List(Of ClassB)
dim list2 as List(Of ClassA)
и я хочу проверить, существует ли что-то, находящееся в lst1, которое находится в списке list2, теперь меня интересует только сравнение с одним ключевым битом информации, которая объявлена в базовом классе и является строкой.
Как пройти через lst1 по сравнению со списком list2? Я думал, что смогу перегрузить / переопределить метод Equals, но мне не нравится ни один из классов, и я говорю что-то похожее на
Public Overloads Overrides Function Equals(ByVal obj As Object) As Boolean
Dim temp As ClassA = TryCast(obj, ClassA)
If temp.Id = Me.Id Then
Return True
Else
Return False
End If
End Function
Но, похоже, это не работает.
EDIT:
Дальнейшее уточнение. Если я позвоню
lst1.contains(instance of ClassA)
Это выдает ошибку, поскольку (справедливо) ожидает получения экземпляра ClassB.