2010-02-02 2 views
1

추상 제네릭 클래스에서 파생 된 객체의 PropertyGrid (및 그의 CollectionEditor)에 값을 표시하고 편집하는 방법이 있습니까? "IFilter'1"또는 "BaseFilter'1"과 같이 표시되는 속성은 표시되지 않습니다. 여기서 IFilter는 인터페이스이고 BaseFilter는 추상 클래스입니다.PropertyGrid GenericItems가있는 GenericList

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; 
    } 
} 

의 몇 가지 전문 구현 :

List<IFilter<bool>> _activeFilter = new List<IFilter<bool>>(); 

IFilter를이 하나 개의 추상 클래스입니다 구현 :이 목록에 포함 된

모든 객체 "SimpleBool"클래스를 위의 정의 된 목록에 추가하면 PropertyGrid가 표시되지 않습니다. y 속성 중 하나를 선택합니다. 그러나 제네릭 형식이 아닌 일반 목록을 정의하면 모두 올바르게 표시됩니다.

해결 방법이 있습니까? TypeConverter와 CollectionEditor를 추가하려고했습니다. 분명히 운없이 = (

답변

0

나는 그것을 해결했습니다.하지만 이상한 .. 그냥 추상 클래스 "FilterBase"에 속성을 추가하십시오.

관련 문제