Вернуть объект, отличный от задачи, из асинхронного метода - PullRequest
0 голосов
/ 19 октября 2018

Как вернуть объект, отличный от Task, из асинхронного метода?Я выполняю некоторую асинхронную работу в методе, но мне нужно вернуть что-то отличное от Task или вернуть объект внутри Task.Я не знаю.

Код:

public async Task<ICollection<KeyValuePair<int, IServiceProvider>>> GetGroupedSearchStrings(int shopId)
{
    ICollection<KeyValuePair<int, ISearchString>> result = new Collection<KeyValuePair<int, ISearchString>>();
    IEnumerable<ISearchString> ss = await ShopsExpressions.SearchString(this.Worker.GetRepo<SearchString>().DbSet).Where(s => s.Active && s.ShopId.Equals(shopId)).OrderBy(s => s.DateCreated).ToListAsync();

    result.Add(new KeyValuePair<int, ISearchString>(1, DEMO));

    return result;
}

1 Ответ

0 голосов
/ 19 октября 2018

Асинхронные функции должны возвращать задание.

Вам нужно await задание при его вызове.

var result = await GetGroupedSearchStrings(shopID);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...