有人可以写这段代码吗:
this.Loaded += (s, e) => this.loaded = true;
分成几行代码以便我可以追溯其含义?
在我的代码示例中没有 s 或 e 吗?
最佳答案
这可能会使它更清晰一些,只需重命名:
this.Loaded += (sender, args) => this.loaded = true;
或者通过给他们类型:
this.Loaded += (object sender, EventArgs args) => this.loaded = true;
它们是委托(delegate)的参数。这是 C# 2 中的等价物:
this.Loaded += delegate (object sender, EventArgs args) { this.loaded = true; };
这有帮助吗?
这是 C# 1 中的等价物(幸运的是没有捕获变量,这让生活更轻松了......)
this.Loaded += new EventHandler(SetLoadedToTrue);
...
private void SetLoadedToTrue(object sender, EventArgs args)
{
this.loaded = true;
}
(这一切都假设 Loaded
事件是 EventHandler 类型;如果不是,则签名明显不同。)
关于events - this.Loaded += (s, e) => this.loaded = true;?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2382672/