1

抽象ジェネリック クラスから派生したオブジェクトの 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 を追加しようとしました。明らかに運がない =(

4

1 に答える 1

0

私はそれを解決しました。しかし、それは奇妙です..抽象クラス「FilterBase」にいくつかのプロパティを追加するだけです。

于 2010-03-10T13:43:39.367 に答える