我最近从 Objective-C 的角度回到了 C # ,C # 5中的异步/等待关键字看起来很酷。但我还在尝试掌握正确的语法。
我想声明一个以异步委托作为参数的方法,但我在调用方和被调用方语法正确性方面遇到了麻烦。有人能提供一个显示方法声明、调用和对委托的调用的代码示例吗?
我觉得宣言应该是这样的。注意,这个函数不是异步的; 也就是说,它的异步性与委托无关。
void DoSomethingWithCallback(async delegate foo(int))
{
...
foo(42);
...
}
电话应该是这样的:
DoSomethingWithCallback(async (int x) => { this.SomeProperty = await SomeAsync(x); });
当然,这些代码都没有编译,而且我看到的大多数示例都假定有一个字段或属性是委托,而不是我希望使用的匿名委托。