У меня есть три класса
public class OSiteEquipment : IPlantItem
public class OSiteSubSystem : IPlantItem
public class OSiteComponent : IPlantItem
Каждый интерфейс реализации IPlantItem
В моем xaml я связываюсь с коллекцией Observable, как
public ObservableCollection<IPlantItem> CurrentItems
Иногда мне нужно связатьCurrentItems
в коллекцию OSiteEquipments, а иногда и в OSiteSubSystem
Если я пытаюсь установить CurrentItems при загрузке представления, подобного этому
CurrentItems = this.siteDocument.Sitestructure.Equipments;
Где Sitestructure.Equipments
является наблюдаемой коллекцией OSiteEquipmentКомпилятор говорит, что я не могу конвертировать из Observablecollection<IPlantItem>
в Observablecollection<OSiteEquipment>
Есть ли способ решить эту проблему.Должен ли я сделать явное преобразование
РЕДАКТИРОВАТЬ
Решено, вместо того, чтобы определять CurrentItems как ObservableCollection i как
object CurrentItems
Причина, по которой явначале не делал этого, потому что думал, что уничтожу привязку уведомлений, но все равно работает нормально.