Я знаю, что такие вопросы существуют, я прошел через все из них - не помог. Вот мой класс:Невозможно неявно преобразовать тип 'System.Collections.Generic.List <>' в 'IList <>'. Явное преобразование существует (вам не хватает роли?)
public class EventService : IEventService
{
TournamentContext db = new TournamentContext();
public IList<Event> GetEvents()
{
List<Event> events = new List<Event>();
IQueryable<Event> eventsList = from s in db.Event
select s;
events = eventsList.ToList();
return events;
}
}
Я получил сообщение об ошибке:
Error CS0266 Cannot implicitly convert type 'System.Collections.Generic.List' to 'Tournament.Services.Events.IList'. An explicit conversion exists (are you missing a cast?) Tournament.Services
не могу понять, как преобразовать System.Collections.Generic.List <>»в 'IList <>' пытался this и несколько других, но это не сработало.
UPDATE:
Реализация обслуживаемого решения и изменения IEventInterface это прекрасно работает в настоящее время:
public System.Collections.Generic.IList<Event> GetEvents() {
var events = from s in db.Event
select s;
return events.ToList();
}
Почему вы создаете новый список с помощью 'List events = new List ();' только чтобы выбросить его и заменить его на 'events = eventsList.ToList();'? –
Есть ли вероятность, что вы использовали инструмент рефакторинга и случайно создали класс 'IList' самостоятельно? Это должно работать, и ваше сообщение об ошибке не отображает полное имя для 'IList ' –
Jonesopolis
@roryap Ну, я попытался реализовать то, что предлагается здесь http://stackoverflow.com/questions/3402822/cannot-implicitly-convert -type-system-linq-iqueryable-to-system-collections-g – Simon