用于VB.NET中的DatePicker的RemoveHandler

时间:2014-01-13 07:26:37

标签: c# .net vb.net handler

我正在使用VB.Net,我的表单包含DatePicker控件,我开始知道以下内容

代码1

RemoveHandler DatePicker1.Validating, New EventHandler(AddressOf DatePicker1_Validating)

代码2

RemoveHandler DatePicker1.Validating, AddressOf DatePicker1_Validating

但两者都有不同的行为。任何人都可以扩大差异吗?

1 个答案:

答案 0 :(得分:1)

两条线都做同样的事情,即它们有相同的结果。

区别在于第一行:

RemoveHandler DatePicker1.Validating, New EventHandler(AddressOf DatePicker1_Validating)

您创建EventHandler的新实例,并将地址设置为指向现有的DatePicker1_Validating事件。所有这一切都是为了在以后的某个时刻创建一个额外的对象进行垃圾收集,所以效率低于第二种方法:

RemoveHandler DatePicker1.Validating, AddressOf DatePicker1_Validating

传递对现有处理程序的引用而没有中间对象