@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 просмотров
Решения вопроса 1
@mvv-rus
Настоящий админ AD и ненастоящий программист
Естественно не можете, потому что ServiceResult у вас IEnumerable не реализует (про это написано в сообщении об ошибке). А IEnumerable, по которому можно пройтись - это параметр-тип для ServiceResult, и до значения этого типа еще надо добраться.
Разберитесь, что это у вас за обобщенный тип - ServiceResult (похоже, это из какой-то сторонней библиотеки), найдите в нем свойство типа T (или метод, возвращающий T) - который тип T в вашем случае - это IEnumerable - и пройдитесь циклом foreach по значению этого свойства (или результату, возвращенному методом).
PS Если не найдете - дайте больше информации по используемым библиотекам (пакетам NuGet и т.п.), иначе придется вам ждать телепатов или ясновидящих, чтобы они эту информацию нам передали.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы