Это странно, я пытаюсь инициализировать мой ICollection со списком в моем конструкторе, и это происходит:C# Список для ICollection
Schedules = new List<BookingSchedule>(); //OK
CateringItems = new List<CateringItem>(); //Not
Свойства:
public virtual ICollection<BookingSchedule> Schedules { get; set; }
public virtual ICollection<BookedCateringItem> CateringItems { get; set; }
Ошибка:
Error 1 Cannot implicitly convert type
'System.Collections.Generic.List<MyApp.Models.CateringItem>' to
'System.Collections.Generic.ICollection<MyApp.Models.BookedCateringItem>'.
An explicit conversion exists (are you missing a cast?)
Я не вижу разницы между ними. Я схожу с ума, пытаясь понять это. Есть идеи?
Вы пытаетесь присвоить список 'BookedCateringItem' для коллекции' CateringItem'. Типы не совпадают - вот в чем разница –
Что такое BookedCateringItem? Попробуйте новый список() –
JleruOHeP
Вы должны прочитать о 'Covariance'. см. http://tomasp.net/blog/variance-explained.aspx/ – haim770