Как можно выполнить преобразование списка с базовым типом в список с производным? - C#
Формулировка задачи:
Поодиночке я делаю это с помощью такого конструктора:
Следовательно, выполнить приведение каждого элемента словаря в цикле, возможно, как и перегрузить в базовом классе оператор приведения от производного, но это будет криво.
Нужно преобразовать List<BaseClass> в List<DerivedClass>
Как сделать это правильно? (без циклов)
DerivedClass(BaseClass bc) {}Решение задачи: «Как можно выполнить преобразование списка с базовым типом в список с производным?»
textual
Листинг программы
static class Program
{
[STAThread]
static void Main()
{
List<Base> baseList = new List<Base>() { new Base(), new Base(), new Base(), new Base() };
List<Drived> drivedList = baseList.Select(b => new Drived(b)).ToList();
}
}
class Base
{
}
class Drived
{
public Drived(Base b)
{
}
}