当前位置: 代码迷 >> VB Dotnet >> 关于RemoveHandler的基准用法
  详细解决方案

关于RemoveHandler的基准用法

热度:24   发布时间:2016-04-25 02:12:36.0
关于RemoveHandler的标准用法
最近的程序里用到了AddHandler和RemoveHandler,明明参数都是一样的,但是RemoveHandler处却出现了警告:“AddressOf”表达式在此上下文中不起作用,因为“AddressOf”的方法参数需要到该事件的委托类型的宽松转换。将“AddressOf”表达式赋给变量,并使用变量将该方法作为处理程序进行添加或移除。

我在程序里的话就只是普通的:
AddHandler info.code.DataReceived, AddressOf receive 
RemoveHandler info.code.DataReceived, AddressOf receive
两个参数都是一样的,不知道为何remove那里会waring
虽然貌似不影响运行,但还是看着不舒服...请问RemoveHandler的标准用法是什么样的,或者说怎样才能避免waring
------解决方案--------------------
将“AddressOf”表达式赋给变量,并使用变量将该方法作为处理程序进行添加或移除。
这里说的很清楚,你需要定义一个变量:
Private h As <事件的委托类型,比如EventHandler>

然后
h = New 事件的委托类型(AddressOf receive)
AddHandler info.code.DataReceived, AddressOf h 
RemoveHandler info.code.DataReceived, AddressOf h