으로 캐스팅 내 응용 프로그램에서 나는 Reflection.PropertyInfo
이라는 속성을 '속성'이라고합니다. property.GetValue(myObject,null)
을 입력하면 값은 Master.Enterprise
입니다. Enterprise는 내 응용 프로그램의 클래스입니다. 따라서 '속성'에는 앱의 클래스에 대한 참조가 포함되어 있습니다.Reflection.PropertyInfo 객체를 해당 유형
런타임에 '속성'을 유형 (Master.Enterprise
)으로 캐스팅하여 클래스 유형 인 것처럼 사용할 수 있습니다.
디버거에서 코드를 보면 디버거가 '속성'을 참조하는 유형으로 올바르게 캐스팅하고 디버거에서 Enterprise 클래스의 모든 속성을 볼 수 있기 때문에이 작업을 수행 할 수 있습니다.
어떻게해야합니까?
실제로 디버거 *는 속성 유형에 * 실제 * 캐스트하지 않습니다. 리플렉션을 통해 객체에 대한보고 만합니다. 객체는 * 그것이'Enterprise' 객체라는 것을 압니다. –
"클래스 유형 인 것처럼"작업하고 싶다면 무엇이 될 수 있는지 알아야합니다. 따라서 객체를 캐스팅하거나'is' 연산자를 사용하여 원하는지 확인할 수 있습니다. 그것이 무엇인지 모를 경우, 어쨌든 그것을 할 수는 없습니다. – hangy
교수형에 동의합니다. 귀하의 질문은 명확하지 않습니다. 'property.GetValue'에 의해 리턴 된 오브젝트는 잘 정의 된 런타임 유형을가집니다. '수업 형식처럼 사용하시오.'라는 의미는 무엇입니까? 어떤 종류의 사용을 계획하고 있는지 몇 가지 예를 제시하십시오. –