抽象ジェネリック クラスから派生したオブジェクトの PropertyGrid (およびその CollectionEditor) の値を表示および編集する方法はありますか? 「IFilter´1」または「BaseFilter'1」 IFilter はインターフェイスであり、BaseFilter は抽象クラスです。
このリストに含まれるすべてのオブジェクト:
List<IFilter<bool>> _activeFilter = new List<IFilter<bool>>();
IFilter を実装する抽象クラスが 1 つあります。
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 を追加しようとしました。明らかに運がない =(