用lambda和事件欺骗C#

Pat*_*ski 4 c# events lambda

我想弄清楚是否有办法完成这样的事情:

Button button = new Button() { OnClick += (sender, e) => MessageBox.Show("hello") };
Run Code Online (Sandbox Code Playgroud)

但它不想工作:DI想要创建一个控件并同时向它添加一个事件.可能吗?

Jon*_*eet 8

不,遗憾的是,对象初始值设定项不允许您附加事件处理程序.

C#团队意识到了这个限制 - 有一些希望,这将是在C#6,但该功能被删除.我希望它由于缺乏时间而被丢弃而不是真正失去这个功能 - 也许我们会在C#7中看到它.