Приведение типов - C# (181076)
Формулировка задачи:
Имеется Нужно привести его к List<ObjectContainer<IAlmanac>>
Тут ковариация не сработает поскольку ObjectContainer - класс а не интерфейс. Поэтому я пока вижу решение создавать новый List и в него добавлять объекты ObjectContainer<IAlmanac> созданные на основе ObjectContainer<AlmanacGps> . Может есть что поизящней и желательно с LINQ
List<ObjectContainer<AlmanacGps>>
public class ObjectContainer<T> where T : class { public T Object { get; set; } } public interface IAlmanac { //int KaAlm { get; set; } DateTime TimeFullUtc { get; set; } } public class AlmanacGps : IAlmanac { public DateTime TimeFullUtc { get; set; } } public class AlmanacGlonas : IAlmanac { public DateTime TimeFullUtc { get; set; } }
Решение задачи: «Приведение типов»
textual
Листинг программы
List<ObjectContainer<AlmanacGps>> source = ... List<ObjectContainer<IAlmanac>> dest = source.Select(e => new ObjectContainer<IAlmanac> { Object = e.Object }).ToList();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д