我可以定义这样的事件(声明的函数):
MyElement.Keyup +=MyDeclaredFunction
我也可以这样定义(匿名委托(delegate)):
MyElement.Keyup+=new delegate(object sender, eventargs e) {};
我也可以这样定义它(lambda):
MyElement.Keyup += (sender, e) => myfunction
做这个的最好方式是什么?在一种情况下,事件的代码是在事件声明中找到的……在另一种情况下,它们是分开的。
我更喜欢方法1
谁能告诉我每种方法的优缺点可能是什么?
最佳答案
方法 2 和 3 相同。
在方法 1 中,您可以稍后取消订阅事件。在方法 2 中,您不能取消订阅事件。我会说这是主要区别。
关于.net - 定义事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1856670/