IEnumerable is an interface, isn't it?
Да, это так. На самом деле в вашем коде вы используете IEnumerable<T>
, который является универсальным интерфейсом.
What kind of object is temp and query?
В вашем коде мы видим, что temp - это тип IEnumerable<TempProjectionItem>
, а запрос - IEnumerable<string>
, оба из которых происходят от IEnumerable<T>
.
Why does TempProjectionItem not need to implement IEnumerable?
TempProjectionItem не является IEnumerable, это просто элемент IEnumerable<TempProjectionItem>
, который является «контейнером».