2009-06-16 3 views
1

TypeDescriptor.CreateProperty를 사용하여 형식에 속성을 추가하려고하면 속성 표에 추가 속성을 표시하지만이 새 속성은 추가되지 않고 TypeDescriptor 속성을 검사하기 위해 해당 유형의 속성을 가져 오면이 속성이 존재하지 않습니다.TypeDescriptor.CreateProperty가 속성을 추가하지 않습니다.

내가 누락되거나 간과 할 수있는 것이 있습니까? 이것은 내가 기억하는 한 기본적이고 간단한 시나리오입니다.

여기는 입니다. TypeDescriptor.CreateProperty (typeof (MovieMenuItem), "ExternalMediaLocation", typeof (string), null);

+1

작동하지 않는 코드의 예를 게시하는 것은 어떻습니까? – LukeH

답변

3

CreateProperty은 해당 유형의 반사 기반 PropertyDescriptor을 반환합니다 (예 : AddProperty). 여기 시나리오는 무엇입니까? DataGridView에 여분의 데이터를 표시하기 만하면되는 가장 간단한 옵션은 그리드에 추가 언 바운드 열을 추가하는 것입니다. this answer

  • TypeDescriptionProvider를 참조 - - (목록의 각 인스턴스가 서로 다른 열을 가질 수있는 경우)
    • ITypedList

      가 있습니다 :

      당신 런타임에 유형을 확장 할 수 있지만 목록에 대한 당신은 두 가지 옵션이 있습니다 유형 당 사용자 정의 속성을 추가하십시오 (궁극적으로 첫 번째 예제와 마찬가지로 PropertyDescriptor 작성).

    목록 기반 메타 데이터를 가져 오는 방법에 대한 전체 규칙은 다음과 같습니다. this answer

  • +0

    PropertyGrid 컨트롤을 사용하여 편집하는 객체에 추가하고 싶습니다. – reshefm

    +0

    마지막으로 "많이 사용하는"구성 요소 모델을 사용한 이후 오랜 시간이 걸렸습니다 ... 유형 설명 공급자가 누락 된 링크입니다. 감사! – reshefm