동일한 기본 클래스에서 파생 된 두 개의 개체가 있습니다.다른 유형의 두 목록에있는 항목의 동일성 찾기
ObjA가 기본 클래스이고 ClassB와 ClassC가 ObjA를 상속한다고 가정합니다. 나는
dim lst1 as List(Of ClassB)
dim list2 as List(Of ClassA)
등을하고 난 뭔가가리스트 2에 lst1에있는의 존재를 확인하려는 경우
은, 지금은 그 정보의 하나의 키 비트에 대해 비교에만 관심 기본 클래스에서 선언되며 문자열입니다.
list2와 비교하여 lst1을 반복 할 수 있습니까? 난 내가 Equals 메서드를 오버라이드 (override)하지만 클래스 중 하나에 대한 기쁨이없는 오전 말할 유사한 어떤 것을
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
으로하지만이 작동하지 않는 것/과부하 수 있다고 생각.
편집 : 추가 설명. 전화가 걸리는 경우
(올바르게) ClassB의 인스턴스를 가져올 것으로 예상되므로 오류가 발생합니다.