Приведение типов - 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();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д