有没有办法在对象的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。显然没有运气=(
答案 0 :(得分:0)
我已经解决了。但它很奇怪..只需在抽象类“FilterBase”中添加一些属性即可。