문제

구현하는 수업이 있다면 iCustomtypedescriptor 나는 그것을 무시할 수있다 getProperties () 클래스의 모든 속성을 내 사용자 정의로 완전히 바꾸는 방법 PropertyDescriptors.

그러나 클래스의 기존 속성을 유지하고 클래스에 추가 속성을 추가하려면 어떻게해야합니까? 기존 클래스 속성에 추가되는 사용자 정의 속성 설명자 세트를 반환하는 방법이 있습니까?

예를 들어, 사용자가 속성 그리드에 표시 될 프로그램에서 사용자 정의 속성을 정의 할 수 있기를 원합니다. 사용자 정의 속성의 값은 사전 (문자열 키, 객체 값) 컬렉션, 그리고 나는 추가하고 싶습니다 PropertyDescriptors 그것은 값도 읽고 쓸 것이며 주요 값을 기반 으로이 컬렉션에서 쓸 것입니다.

나는 생각하지 않는다 IEXTENDERPROVIDER 한 클래스의 속성 만 추가하기 때문에 작동합니다. 그러나 런타임에 속성을 동적으로 추가하고 제거 할 수 있어야합니다. 내가 가질 수 있습니까? IEXTENDERPROVIDER 또한 구현하는 수업 iCustomtypedescriptor 따라서 추가 된 속성을 런타임에 파악할 수 있습니까?

도움이 되었습니까?

해결책

현재 컬렉션에 추가하여 할 수 있어야합니다.

    public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
    {
        PropertyDescriptorCollection cols = base.GetProperties(attributes);
        cols.Add(); // Add your custom property descriptor here
        return cols;
    }
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top