最近做了相当多的Silverlight编程并且喜欢它但当然Silverlight是异步的所以我被迫设置一个事件处理程序来在异步完成时调用。这当然很好,但我只是得到了很多代码...基本上我需要一个wcf服务的每个调用2个方法。我最近发现了以下
client.LoadClientsCompleted += (sender, e) =>
{
// My Code
};
client.LoadClientsAsync(clientID);
它似乎有用,它使用lambdas而不是物理方法。据我所知,这并没有改变技术的工作,它仍然是异步的。但它似乎很多地整理了我的代码。
我很想听到有关天气的任何评论我应该使用这个,是否有任何PROS和CONS使用?
正如我所说,直接在一个新方法上的事件也很有效,但从技术上讲,每次调用我都有两种方法......代码正在增长: - )
使用lambda方式我至少在我当前的方法中保留我的回调事件,尽管它只在完成后触发。它似乎使事情变得更容易但这种方法有什么问题吗?
答案 0 :(得分:3)
一位大职业选手,lambdas可以从周围环境中获取变量的价值:
client.LoadClientsCompleted += (sender, e) =>
{
// My Code
// your code can use clientID here
};
client.LoadClientsAsync(clientID);