typedescriptor.getProperties ()에 의해 반환 된 필터 속성이 선언 된 클래스에 따라
-
22-07-2019 - |
문제
얘들 아. 나는 다음과 같은 상황이 있습니다.
TypEdescriptor를 사용하여 특정 유형의 속성을 얻고 싶습니다. 상속 계층 구조에서 유형의 깊이는 다를 수 있습니다. 나는 부모 (기본)가 아닌 유형 자체에서 속성을 선언하고 싶습니다. 문제는 typedescriptor.getProperties ()를 호출 할 때 상속 계층 구조를 객체까지 선언 한 모든 것을 반환한다는 것입니다.
나는 속성으로 출력을 필터링 할 수 있다는 것을 알았지만이 유형의 속성에 다른 속성을 추가하고 싶지는 않습니다. Typedescriptor를 사용하지 않고 반사를 통해 그들을 얻는 것은 내가 원하는 것을 수행 할 것이지만, 일부 속성은 어느 시점에서 유형에 동적으로 추가되기 때문에 나에게는 옵션이 아닙니다.
어떤 아이디어? 질문이 명확하지 않으면 예를 제공 할 수 있습니다.
해결책
당신은 그것을 사용하여 속성을 필터링 할 수 있습니다 ComponentType
재산 :
var properties = from p in TypeDescriptor.GetProperties(x).Cast<PropertyDescriptor>()
where p.ComponentType == x.GetType()
select p;
다른 팁
구현을 수정할 수는 없습니다 ICustomTypeDescriptor
원하는 행동을 반영하기 위해?
제휴하지 않습니다 StackOverflow