Почему я не могу передать List> в IEnumerable>

Этот код генерирует две ошибки времени компиляции:

private void DoSomething()
{
    List<List<Foo>> myFoos = GetFoos();

    UseFoos(myFoos);
}

private void UseFoos(IEnumerable<IEnumerable<Foo>>)
{

}

Лучший перегруженный метод 'NameSpace.Class.UseFoos(System.Collections.Generic.IEnumerable>)' имеет некоторые недопустимые аргументы

и

Аргумент 1: невозможно преобразовать из 'System. Collections.Generic.List>' в 'System.Collections.Generic.IEnumerable>'

Приведение к IEnumerable> не является проблемой. Чем отличается приведение к внутреннему List компоненту типа, что оно дает сбой?

11
задан Dan Neely 21 December 2011 в 16:14
поделиться