我最近一直在玩HttpWebRequests,在教程中他们总是这样做:
IAsyncResult result = request.BeginGetResponse(
new AsyncCallback(UpdateItem),state);
Run Code Online (Sandbox Code Playgroud)
但new AsyncCallback似乎并不是必要的.如果UpdateItem有正确的签名,那么似乎没有问题.那么人们为什么要包括它呢?它有什么用吗?
Joh*_*lla 12
大多数情况都是一样的(考虑到一些过载规则,尽管不是在这个简单的例子中).但在以前版本的C#中,没有任何委托类型推断.因此,教程要么(a)在代理类型推断可用之前编写,要么(b)他们想要解释为详细说明.
以下是您可以利用委托类型推断的一些不同方法的摘要:
// Old-school style.
Chef(new CookingInstructions(MakeThreeCourseMeal));
// Explicitly make an anonymous delegate.
Chef(delegate { MakeThreeCourseMeal });
// Implicitly make an anonymous delegate.
Chef(MakeThreeCourseMeal);
// Lambda.
Chef(() => MakeThreeCourseMeal());
// Lambda with explicit block.
Chef(() => { AssembleIngredients(); MakeThreeCourseMeal(); AnnounceDinnerServed(); });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2182 次 |
| 最近记录: |