問題:當對象具有 :C#PropertyGrid中和接口屬性
class A
{
public ISomeinterface PropertyName { get; set; }
}
,然後將該類的實例被分配給propertyGrid.SelectedObject =新的A(); 然後當試圖編輯PropertyName的值時,會顯示關於無法創建ISomeinterface實例的異常(理所當然),問題是如何解決此問題而不中斷我的類和接口。
問題:當對象具有 :C#PropertyGrid中和接口屬性
class A
{
public ISomeinterface PropertyName { get; set; }
}
,然後將該類的實例被分配給propertyGrid.SelectedObject =新的A(); 然後當試圖編輯PropertyName的值時,會顯示關於無法創建ISomeinterface實例的異常(理所當然),問題是如何解決此問題而不中斷我的類和接口。
對,PropertyGrid沒有猜測如何賦值的希望。所以,隱藏它:
class A
{
[Browsable(false)]
public ISomeinterface PropertyName { get; set; }
}
如果屬性分配是一個需求,那麼你需要實現一個屬性的UITypeEditor。
但我不明白的方式,如果我有一個說ISomeInterface []和比我有A,B實現此接口,方式不能有一個編輯器,允許我添加A還是B?是不是有一些技巧來克服這一點?因爲我已經構建了一個編輯器,它可以工作,但這是多餘的,因爲它應該被自動渲染,這就是全部否定的? – user440850 2010-09-15 15:17:19
使用它時,屬性是否爲null或非null? – 2010-09-12 12:40:14
它是空的,當我使用它 – user440850 2010-09-12 13:06:44