我最近在MSDN上阅读了这个帖子.所以我在考虑使用lambda表达式作为调用EndInvoke的方式,以确保一切都很好和整洁.哪个更正确?
例1:
Action<int> method = DoSomething;
method.BeginInvoke(5, (a)=>{method.EndInvoke(a);}, null);
Run Code Online (Sandbox Code Playgroud)
例2:
Action<int> method = DoSomething;
method.BeginInvoke(5, (a)=>
{
Action<int> m = a.AsyncState as Action<int>;
m.EndInvoke(a);
}, method);
Run Code Online (Sandbox Code Playgroud)
Mar*_*tos 13
我不知道这是否可能在09年1月回归,但现在你可以写下这个:
method.BeginInvoke(5, method.EndInvoke, null);
Run Code Online (Sandbox Code Playgroud)
您可能想在Haacked的博客上阅读此主题.没有机会测试它,但要点是最后一行:
ThreadPool.QueueUserWorkItem(callback => im.Send(to, from, subject, body));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9895 次 |
| 最近记录: |