c# – 什么是=(o,arg)=>实际实现?

对不起要问全部,但我是一个老手Vb.net的人谁转移到c#。当我们(在这种情况下)postAsync方法被触发时,我有以下代码似乎被激活。我只是不明白代码正在做什么(如下): –

app.PostCompleted +=
    (o, args) =>
    {
        if (args.Error == null)
        {
            MessageBox.Show("Picture posted to wall successfully.");
        }
        else
        {
            MessageBox.Show(args.Error.Message);
        }
    };

如果有人可以解释什么=(o,args)=>实际上,我会如此伟大的…

提前谢谢了。
蒂姆

(o,args)=>定义了一个lambda表达式,它使用两个名为o和args的参数。这些参数的类型根据PostCompleted的类型推断(如果PostCompleted是EventHandler,那么它们将分别为Object和EventArgs类型)。表达式的正文然后在=>之后。

结果比PostCompleted作为处理程序添加。

因此,写一个不太冗长的方式:

app.PostCompleted += delegate(object o, EventArgs args)
{
    // ...
};

哪个是速记:

void YourHandler(object o, EventArgs args)
{
    // ...
}

// ...

app.PostCompleted += YourHandler;
翻译自:https://stackoverflow.com/questions/6834834/what-is-o-arg-actually-achieving

转载注明原文:c# – 什么是=(o,arg)=>实际实现?