У меня есть метод, который строит списки списков. Я хотел бы, чтобы возвращаемый тип использовал общий интерфейс IList <>, чтобы уменьшить связь с конкретным типом List <> ниже по течению. Однако компилятор борется с преобразованием типов.
public IList<IList<T>> Foo<T>()
{
return new List<List<T>>();
}
Почему это не удается, если это работает:
public IList<T> Foo<T>()
{
return new List<T>();
}
Какой самый элегантный выход из этой неразберихи?