Как я могу запустить оба этих метода одновременно в .NET 4.5?

У меня есть метод, который делает 2независимый кусочки логики. Я надеялся, что смогу запустить их обоихв то же время ... и продолжайте только после завершения обоих дочерних методов.

Я пытался обойтиasync/await синтаксис, но я просто не понимаю.

Вот код:

public PewPew SomeMethod(Foo foo)
{
    var cats = GetAllTheCats(foo);
    var food = GetAllTheFood(foo);

    return new PewPew
               {
                   Cats = cats,
                   Food = food
               };
}

private IList<Cat> GetAllTheCats(Foo foo)
{
    // Do stuff, like hit the Db, spin around, dance, jump, etc...
    // It all takes some time.
    return cats;
}

private IList<Food> GetAllTheFood(Foo foo)
{
    // Do more stuff, like hit the Db, nom nom noms...
    // It all takes some time.
    return food;
}

Итак, с помощью приведенного выше кода я хочу сказать: иди и забирай всех кошек и еду одновременно. Как только мы закончим, верните новыйPewPew.

Я запутался, потому что я не уверен, какие классы вышеasync или вернутьTaskи т.д. только два частных? Я также предполагаю, что мне нужно использоватьTask.WaitAll(tasks) метод, но я не уверен, какнастроить задачи для запуска в то же время.

Предложения, добрые люди?

Ответы на вопрос(5)

Ваш ответ на вопрос