가장 단순한 방식으로 작동해야한다는 생각에 다소 문제가 있습니다.BindingList BindingList 오버로드 중 하위 속성이 T 상위 클래스 인
BindingList
이 <subclasss T>
인 하위 클래스에서 유형 BindingList<T>
의 속성을 오버로드하려고합니다. 이 문제를 해결할 수있는 방법이 있지만 '직접적인 방법없이'가장 좋은 방법이 될 것 같습니다. 여러 가지 옵션을 시도해 보았지만 몇 가지 해결책이 있지만 그 중 어떤 것도 특히 만족스럽지 않습니다.
가장 좋은 방법이 있습니까? A 간단 코드 예제는 최상의 설명 자일 수 있습니다. 아래의 예제에서, 사과 만 포함하고 동일한 사과 이름을 사용하여 Apple의 BindingList<>
에 액세스하려면 fruitbowl을 파생시키고 싶습니다 (하위 클래스의 경우 일반 과일 in Super 클래스의 경우).
-------- 예 -------
class Fruit{}
class Apple: Fruit {}
class FruitBowl
{
protected BindingList<Fruit> m_aFruits;
public BindingList<Fruit> Fruits
{
get {return m_aFruits;}
}
}
class AppleBowl : FruitBowl
{
public BindingList<Apple> Fruits
{
get {return m_aFruits;}
}
}
일 - 또한, 구타는 "여기서 T : 과일"더 많은 유형의 안전에 대한 FruitBowl에 제약. –
@Matt가 주석을 추가 할 때 @Matt가 타이프했습니다. –