У меня есть иерархия классов C # с общим базовым типом и двумя производными типами.Я хочу объявить абстрактный метод для базового класса примерно так:
public abstract IEnumerable<T> GetSiblings<T>() where T : MyBaseClass
... и я хочу, чтобы этот метод был реализован в производных классах так, чтобы T был типом этого производного типа,для каждого из производных типов, то есть в производном классе A:
public override IEnumerable<A> GetSiblings<A>() { ... }
... и в производном классе B ...
public override IEnumerable<B> GetSiblings<B>() { ... }
Другими словами, каждый производный классдолжен реализовать метод так, чтобы он возвращал IEnumerable элементов того же типа.Есть ли способ реализовать это в C #?