IEnumerable не разрешает индексированный доступ к коллекции, в то время как IList делает. Таким образом, IList более чем IEnumerable, и вы не сможете сойти с рук. Конечно, некоторые классы реализуют оба интерфейса (например, List <>), и они будут работать нормально.
Если вам нужно перейти от IEnumerable к IList, вы можете сначала попробовать приведение, если вам повезет, это сработает. Если нет, вам придется просмотреть коллекцию IEnumerable и создать новый IList.
Редактировать: используйте ToList () вместо того, чтобы предавать себя, как предлагали другие.