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, вот и все.

Другие вопросы по тегам