IEnumerable<IEnumerable<T>> test<T>()
{
return new [] { new T[] {} };
}
Я заметил, что когда-то была ошибка в моно-компиляторе (по крайней мере, 2.6.7 gmcs приводила к сбою ...), которая требовала от вас написания new IEnumerable<T>[] { new T[] {}}
; Это больше не проблема, например, моно 2.11
В качестве альтернативы
вы могли бы использовать блок доходности (который был бы менее эффективным)
IEnumerable<IEnumerable<T>> test<T>()
{
yield return new T[] {};
}
Enumerable.Empty<>
Вам известно о Enumerable.Empty<>
?
IEnumerable<IEnumerable<T>> test<T>()
{
return Enumerable.Empty<IEnumerable<T>>();
}