У меня возникли проблемы с идеей, что в самом простом случае кажется, что она должна работать.
Я пытаюсь перегрузить свойство типа BindingList<T>
в подклассе с BindingList
из <subclasss T>
. Есть способы, которыми я могу обойти это, но кажется, что «самый хороший» способ был бы без какого-либо прямого приведения. Я перепробовал множество вариантов и у меня есть некоторые решения, но я не особо доволен ни одним из них.
Есть ли лучший подход к этому? Пример кода simple может быть лучшим дескриптором
В этом примере ниже я хочу получить фруктовый шар, содержащий только яблоки, но использую одно и то же имя свойства для доступа к BindingList<>
яблок (в случае подкласса; универсальный фрукт в случае суперкласса). *
-------- Пример -------
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;}
}
}