PropertyGrid GenericList с GenericItems
Есть ли способ отображать и редактировать значения в PropertyGrid (и его CollectionEditor) объекта, который является производным от абстрактного универсального класса? Я не получаю свойства отображаются только что-то вроде этого: "IFilter´1" или "BaseFilter'1", где IFilter является интерфейсом, а BaseFilter абстрактный класс.
Все объекты, содержащиеся в этом списке:
List<IFilter<bool>> _activeFilter = new List<IFilter<bool>>();
Существует один абстрактный класс, реализующий IFilter:
public abstract class FilterBase<T> : IFilter<T> { ... }
И несколько специализированных реализаций FilterBase
public class SimpleBool : FilterBase<bool> {
public bool BoolValue { get; set; }
protected override bool Process(bool input) {
return input && BoolValue;
}
}
Когда я добавляю такой класс "SimpleBool" в определенный выше список, PropertyGrid не будет отображать какие-либо свойства. Но все отображается правильно, когда я определяю универсальный список с неуниверсальным типом.
Есть ли решение, чтобы получить эту работу? Я попытался добавить несколько TypeConverter и собственный CollectionEditor. Очевидно, без удачи =(
1 ответ
Я решил это. Но это странно. Просто добавьте некоторое свойство в абстрактный класс FilterBase, вот и все.