xvd*_*iff 2 c# syntax events lambda expression
我需要将特定类型的实例(将在此刻创建)传递给方法.这种类型提供了我想订阅的几个事件,所以我的代码如下所示:
var instance = new Instance();
instance.OnEvent1 += (sender, args) => {
DoThis();
DoThat();
}
instance.OnEvent2 += (sender, args) => DoThisToo();
instance.OnEvent3...
MyMethod(instance);
Run Code Online (Sandbox Code Playgroud)
现在,是否可以在初始化期间添加处理程序?所以我可以这样写:
MyMethod((MyType)instance => {
instance.OnEvent1 += (sender, args) => {
DoThis();
DoThat();
}
instance.OnEvent2...
});
Run Code Online (Sandbox Code Playgroud)
当然,由于美容原因,这仅是期望的.我喜欢我的代码小而且可读.
现在这是不可能的,但根据Roslyn
它的计划,可能在将来可用.
--------------------------------------------------------------------------
| Feature | Example | C# |
-------------------------------------------------------------------------|
| Event initializers | new Customer { Notify += MyHandler }; | Planned |
-------------------------------------------------------------------------|
Run Code Online (Sandbox Code Playgroud)