Преобразовать \ Привести универсальный список в универсальный IEnumerable

Операторы if в вашем примере не нужны. Просто сделайте это так:

dosomething1 || exit 1

Если вы берете совет Ville Laurikari и используете set -e, то для некоторых команд вам может понадобиться использовать это:

dosomething || true

Кнопка || true приведет к тому, что конвейер команды получит возвращаемое значение true, даже если команда не будет выполнена, поэтому опция -e не будет убивать скрипт.

0
задан Jcl 11 March 2019 в 14:34
поделиться

3 ответа

Полагаю, вы забыли использовать параметр mapping? Вы должны использовать его!

return response.Results
            .Select(r => r.Document)
            .Select(mapping)
            .ToList(); // you don't need ToList here, unless you don't want the results to be lazy

mapping - это функция, которая преобразует каждое T в вашем списке в TResult.

0
ответ дан Sweeper 11 March 2019 в 14:34
поделиться

Вы возвращаете список Document объектов, но подписываете метод с типом возврата IEnumerable<TResult> ... так что, если TResult не является типом того, чем является Document (для которого требуется ограничение, на T и TResult), они не являются напрямую конвертируемыми.

Существует параметр mapping, который выглядит как функция преобразования / проецирования, поэтому вы можете использовать:

return response.Results.Select(mapping);

PS: как нашёл @Sweeper, посмотрев на API, должно быть:

return response.Results.Select(x => Document).Select(mapping);
0
ответ дан Jcl 11 March 2019 в 14:34
поделиться

Какова связь между типом TResult и типом r.Document. Возможно, вы пропустили ограничение на TResult?

0
ответ дан InBetween 11 March 2019 в 14:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: