2012-03-12 1 views
4

다른 클래스가 포함 된 PropertyGrid에 표시 할 클래스를 만들었습니다. 이 클래스를 확장 가능하게하여 [TypeConverter(typeof(ExpandableObjectConverter))]을 추가하려고했지만 작동하지 않는 것 같습니다. 속성 눈금으로 표시하면PropertyGrid : ExpandableObjectConverter 관련 문제

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 

     this.propertyGrid1.SelectedObject = new Class1(); 
    } 
} 

public class Class1 
{ 
    string name; 

    public string Name 
    { 
     get { return this.name; } 
     set { this.name = value; } 
    } 

    Class2 class2; 

    public Class2 Class2 
    { 
     get { return this.class2; } 
     set { this.class2 = value; } 
    } 
} 

[TypeConverter(typeof(ExpandableObjectConverter))] 
public class Class2 
{ 
    string stuff = "none"; 

    public string Stuff 
    { 
     get { return this.stuff; } 
     set { this.stuff = value; } 
    } 
} 

상기 Class1 인스턴스 Class2 재산권 확장형이다 : 여기서 I 시도 간단한 예이다. 왜 이것이 작동하지 않는지에 대한 아이디어가 있습니까?

감사합니다.

답변

7

Class2 유형의 속성이 null이므로 확장되지 않았습니다. 재산을 인스턴스화하면 모두 괜찮을 것입니다.

Class2 class2 = new Class2(); 
+4

(부끄러운 벽장에 잠겨 있습니다.) ... 감사합니다. – john