#c# #.net #list #ienumerable
#c# #.net #Список #ienumerable
Вопрос:
когда я получил:
public interface Test
{
IEnumerable<Guid> ModelIds { get; set; }
}
Затем в сервис у меня есть:
public IEnumerable<Guid> Test
{
get => m_data.ModelIds;
set { m_data.ModelIds = value.ToList(); }
}
И затем я использую его как:
abc.ModelIds = my_list.Select(x => x.Id);
Но мне нужно внести изменения в интерфейс:
public interface Test
{
IList<Guid> ModelIds { get; set; }
}
и служба реализации:
public IList<Guid> Test
А теперь как взять идентификатор?
abc.ModelIds = my_list.Select(x => x.Id);
ошибка CS0266: не удается неявно преобразовать тип ‘System.Коллекции.Общий.IEnumerable<System.Guid>’ в’систему.Коллекции.Общий.IList<System.Guid>’ . Существует явное преобразование (вам не хватает приведения?)
Комментарии:
1.
Select(x => x.Id).ToList()
?
Ответ №1:
Я думаю, что проблема здесь.
public IEnumerable<Guid> Test
{
get => m_data.ModelIds;
set { m_data.ModelIds = value.ToList(); }
}
Вместо .Для ToList() просто используйте m_data.ModelIds = значение;
Если он говорит, что проблема здесь.
abc.ModelIds = my_list.Select(x => x.Id);
Попробуйте
abc.ModelIds = my_list.Select(x => x.Id).ToList();