c#PropertyGrid和Interface属性

时间:2010-09-12 12:09:39

标签: c# propertygrid

问题: 当对象有:

class A
{
    public ISomeinterface PropertyName { get; set; }
}

然后将该类的实例分配给propertyGrid.SelectedObject = new A(); 然后在尝试编辑PropertyName的值时,会显示一个关于无法生成ISomeinterface实例的异常(理所当然),问题是如何在不破坏我的类和接口的情况下解决此问题。?

1 个答案:

答案 0 :(得分:1)

对,PropertyGrid没有猜测如何分配值的希望。所以,隐藏它:

class A
{
    [Browsable(false)]
    public ISomeinterface PropertyName { get; set; }
}

如果要求属性赋值,那么您需要为该属性实现UITypeEditor。