У меня есть суперкласс, Super
с подклассами SubA
public class Super{}
public class SubA : Super{}
Я хочу иметь интерфейс, который определяет некоторые действия с коллекциями Super
.
public interface IDoer
{
List<Super> GetObjects();
void SaveObjects(List<Super> items);
}
Так что, в принципе, я хочу иметь возможность полиморфно передавать коллекции Supers
, но List<SubA>
- это не List<Super>
. Так что мой subAoer не реализует IDoer.
public class SubADoer : IDoer
{
public List<SubA> GetObjects{ return new SubA()}
public void SaveObjects(List<SubA> items){//save}
}
Как я могу абстрагировать списки (или некоторый другой тип коллекции) моих объектов, которые отражают отношения между типами, которые их составляют?