c # PropertyGrid и свойство интерфейса - PullRequest
1 голос
/ 12 сентября 2010

Проблема: когда объект имеет:

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

, а затем экземпляр этого класса присваивается propertyGrid.SelectedObject = new A ();затем при попытке изменить значение PropertyName, появляется исключение о невозможности создания экземпляра ISomeinterface (имеет смысл, конечно), вопрос в том, как обойти это без нарушения моего класса и интерфейсов .?

1 Ответ

1 голос
/ 12 сентября 2010

Правильно, PropertyGrid не имеет надежды угадать, как присвоить значение. Итак, скрыть это:

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

Если присваивание свойства является требованием, вам необходимо реализовать UITypeEditor для свойства.

...