Создав один или несколько ожидающих и ожидающих, можно ли создавать сопрограммы в С#?
В идеале я хотел бы написать что-то вроде:
void async Click() {
var mouse_position = await left_mouse_click();
await shoot_projectile();
}
а затем получить из метода Click что-то, что я могу либо ожидать внутри другого метода асинхронизации, либо я могу явно перебрать с помощью метода MoveNext/GetResult.
Конечной целью является то, что мне нужно интегрировать С# async/await с FAD monadic coroutines для рамки разработки игр (http://casanova.codeplex.com).