我需要将某种类型的实例(此时将创建)传递给方法。这种类型提供了几个我也想订阅的事件,所以我的代码如下所示:
var instance = new Instance();
instance.OnEvent1 += (sender, args) => {
DoThis();
DoThat();
}
instance.OnEvent2 += (sender, args) => DoThisToo();
instance.OnEvent3...
MyMethod(instance);
现在,是否可以在初始化期间添加处理程序?所以我可以写这样的东西:
MyMethod((MyType)instance => {
instance.OnEvent1 += (sender, args) => {
DoThis();
DoThat();
}
instance.OnEvent2...
});
这当然只是出于美观的原因。我喜欢我的代码小且可读。
最佳答案
目前这是不可能的,但根据Roslyn
它已计划并可能在将来推出。
--------------------------------------------------------------------------
| Feature | Example | C# |
-------------------------------------------------------------------------|
| Event initializers | new Customer { Notify += MyHandler }; | Planned |
-------------------------------------------------------------------------|
关于c# - 在对象初始化期间添加事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24951619/