1

有没有办法在一个对象的 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。显然没有运气=(

4

1 回答 1

0

我已经解决了。但它很奇怪..只需在抽象类“FilterBase”中添加一些属性,仅此而已。

于 2010-03-10T13:43:39.367 回答