Задать вопрос
@embiid

Как пройтись циклом по результирующим данным функции?

Не могу пройтись foreach по результату возвращаемой функции:
var geoSolutionsForState = _geoSolutionsService.GetGeoSolutionsByParent(someList, "en-gb");
                if (geoSolutionsForState != null)
                {
                    foreach (var geoForState in geoSolutionsForState) //ругается на geoSolutionsForState


Сам прототип функции:
public Task<ServiceResult<IEnumerable<GeoSolution>>> GetGeoSolutionsByParent(List<int> ancestorIds, string language = "en-gb")


В консоле висит ошибка: "foreach statement cannot operate on variables of type 'ServiceResult>' because 'ServiceResult>' does not contain a public instance or extension definition for 'GetEnumerator'"
  • Вопрос задан
  • 125 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
@mvv-rus
Настоящий админ AD и ненастоящий программист
Естественно не можете, потому что ServiceResult у вас IEnumerable не реализует (про это написано в сообщении об ошибке). А IEnumerable, по которому можно пройтись - это параметр-тип для ServiceResult, и до значения этого типа еще надо добраться.
Разберитесь, что это у вас за обобщенный тип - ServiceResult (похоже, это из какой-то сторонней библиотеки), найдите в нем свойство типа T (или метод, возвращающий T) - который тип T в вашем случае - это IEnumerable - и пройдитесь циклом foreach по значению этого свойства (или результату, возвращенному методом).
PS Если не найдете - дайте больше информации по используемым библиотекам (пакетам NuGet и т.п.), иначе придется вам ждать телепатов или ясновидящих, чтобы они эту информацию нам передали.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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