저는 추상 클래스가 있습니다. Base
으로 이름을 짓겠습니다. 이 클래스에는 몇 가지 속성이 포함되어 있습니다. 또한, 클래스 Base
에서 상속 된 또 다른 클래스가 있습니다 - Child
으로 이름을 짓겠습니다. Child
은 추상적이지 않습니다.리플렉션을 사용하여 추상 클래스의 속성에 액세스합니다.
내가 리플렉션 클래스 Base
에서 속성에 액세스 할 및 만 이러한 속성은 Base
에 선언했다. 내가
Base base = new Base();
Type type = base.GetType();
PropertyInfo[] propInfos =
type.GetProperties(
BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly
);
다음 코드이 가능 추상 클래스의 인스턴스를 만들 수 없기 때문에
다음 코드는 물론 불가능하지만 나는 모든 속성, 그뿐만 아니라 Base
에 정의 수 Child
에 정의 된대로.
Child child = new Child();
Type type = child.GetType();
PropertyInfo[] propInfos =
type.GetProperties(BindingFlags.Instance | BindingFlags.Public);
어떻게 반사를 통해 클래스 Base
의 모든 속성을 얻을 수 있나요?
추가 질문이 'propInfo.SetValue이 (???, 값, null)와'난 단지 유형을 가지고 있기 때문에, 어떤 객체, 어떻게 설정할 수 있습니다 /이 얻을 값? – Em1
@ Em1 잘 모르겠습니다. 객체가 없으면 속성을 설정하거나 속성 값을 가져 오는 중 무엇입니까? – AakashM
그냥 알고 싶다 : 내가 추상적 인 클래스의 한 속성을 가지고 있다면, 나는이 속성의 setter/getter를 올릴 수 있을까? (당연히 내가 반드시 abstract 메서드로 넘어 가지 않을 것인가, 아니면 이것이 이유인가? 왜 그럴 수 없습니까?) – Em1