그래서 지금 내가 갖고있는 것은Reflection을 사용하여 클래스와 그 기본 클래스 (계층 구조)의 모든 속성을 어떻게 얻습니까? (기음#)
PropertyInfo[] info = obj.GetType().GetProperties(BindingFlags.Public);
여기서 obj
은 어떤 객체입니다.
문제는 내가 원하는 속성이 obj.GetType()
에 없기 때문에 더 이상 기본 클래스에 속합니다. 디버거를 멈추고 obj를 보면 몇 가지 "기본"항목을 통해 파생시켜야하는 속성을 볼 수 있습니다. 그 바인딩을 반환 할 수있는 바인딩 플래그가 있습니까? 아니면 반복적으로 Type.BaseType
계층 구조를 파고 GetProperties
할 필요가 있습니까?
Jay의 작품이 내가 원하는 것을 얻을 수 있기 때문에 나는 이것을 대답으로 표시하고 있는데, 이것이 왜 작동하는지 설명합니다. 나는 Instance와 Static이 둘 다 지정되지 않았다면 실제로 둘 다 반환하지 않았을 때 둘 다 기본값으로 설정한다고 가정했습니다. – Davy8
내가보고있는 객체에는 최고 수준의 속성이 없었기 때문에 아무 것도 반환하지 않았을 때 최상위 수준의 속성을 검색하려고했을 뿐이므로 아무 것도 반환하지 않은 속성을 얻으려고했기 때문에 아무것도 반환하지 않았다고 가정했습니다. 정적 또는 인스턴스. – Davy8