나는 다음과 같은 클래스가 :리플렉션을 사용하여 VB.Net에서 중첩 클래스를 찾는 방법은 무엇입니까?
Public Class F
Public Class A
Public Class C
End Class
End Class
Public Class B
End Class
End Class
그리고 나는 기본적으로 내가이 & B 유형을 반환하는 기능을 기대하고있어 클래스 F.의 내장 클래스를 반환하는 기능을 쓰고 있어요 ...
Public Function FindInternalClasses(ByVal TBaseType As Object) As List(Of Type)
Dim baseType = TBaseType.GetType
Dim assembly = baseType.Assembly
Dim Output As New List(Of Type)
For Each Item In assembly.GetTypes
If Item.IsSubclassOf(baseType) Then
Output.Add(Item)
End If
Next
Return Output
End Function
이 함수를 실행하면 항상 아무 것도 반환하지 않습니다. 조건 "If Item.IsSubclassOf (baseType)"은 항상 거짓입니다.
누구든지이 코드에 무엇이 누락 되었습니까?
A, C 및 B는 "하위 클래스"가 아니며 A 또는 다른 어떤 것을 상속하지 않습니다 (적어도 코드가 보여주는 한). 내부 클래스 또는 중첩 클래스입니다. – Plutonix
그들은 당신이 찾고자하는 수업입니까, 아니면 다른 모임을 통해 배신하고 있습니까? – Plutonix
예 Plutonix, 오해를 불러 일으킨 죄송합니다. 실제로 내부 수업입니다. 이 내부 수업 만 반환하는 방법을 알고 있습니까? –