我正在使用WP7中的Web服务,但是我得到了一些我以前从未见过的语法,并且在开始实现这个web方法之前想要阅读它们,甚至不知道我在做什么。我试图找到一些关于它的页面,但是找不到关于客户端的任何内容,只知道如何创建web服务。首先,我想调用方法,该方法有一个字符串作为返回类型,但表示为void。经过一番搜索,我发现你必须从服务器得到一个响应,这将触发一个evenListener(或者某些东西,如果我错了,请纠正我)。但是这个EventListener有一个对象返回类型,之前从未见过。因此,我可以疯狂地将字符串复制粘贴到使用它的项目,或者疯狂地尝试通过反复试验找出它,但我宁愿读一读这个主题。 我有一个实施它的项目:
_channel.ShellToastNotificationReceived += (s, e) => Deployment.Current.Dispatcher.BeginInvoke(() => ToastReceived(e));
是否有人有这样详细解释的链接?
答案 0 :(得分:1)
这是一个lambda表达式,用作事件处理程序。 Lambda表达式是在C#3.0中引入的,不仅可以用于迭代,表达式和语句,还可以用于事件处理程序。这篇文章解释了如何从带有委托实例化的命名方法转到lambda事件处理程序:Lambda Expressions in 5 Minutes。
简而言之,你来自:
button1.Click += new EventHandler(Button1_Click);
void Button1_Click(object sender, EventArgs e)
{
Debug.Print("Button1 click handled by named method.");
}
为:
button1.Click += (sender, e) => Debug.Print("Button1 click handled by lambda expression with type inference.");
希望这有帮助! ;)