很抱歉无法给出更准确的标题,但这就是我想要做的。我有一个方法foo
可以启动一些 UI 动画。当这些动画完成后,我想发出方法完成的信号。但是,我不想通过事件发出完成信号,而是让方法awaitable
. 如何才能做到这一点?
void foo()
{
// start some animations
storyboard.Begin();
storyboard.Completed += (s, e) => { // signal that foo has completed }
}
调用代码应该能够编写:
await foo();
我的实际foo
比上面的插图更复杂,因为我有一系列动画,它们一个接一个地发生,并且foo
应该在所有动画完成后完成。