2013-02-25 96 views
1

这个c#代码的vb.net等效代码是什么?将C#代码转换为vb.net

DataFilter1.OnFilterAdded += new DataFilter.RefreshDataGridView(DataFilter1_OnFilterAdded); 

我使用了一个转换工具,并得到这个代码:

DataFilter1.OnFilterAdded += New DataFilter.RefreshDataGridView(AddressOf DataFilter1_OnFilterAdded) 

但似乎是不正确的..

+0

边注:C#代码可以缩短到'DataFilter1.OnFilterAdded + = DataFilter1_OnFilterAdded;' – CodesInChaos 2013-02-25 10:01:27

回答

3
AddHandler DataFilter1.OnFilterAdded, AddressOf DataFilter1_OnFilterAdded 
+0

例外描述:E:\ sites \ EPER EN \ Admin \ DB \ Default.aspx.vb(12):错误BC30002:类型'DataFilter.RefreshDataGridView'未定义。源文件:行:0 ..? – Adham 2013-02-25 10:01:21

+1

我相信你在这里需要'AddressOf'运算符...并且在你添加完这个后,这个答案只会成为其他两个答案的副本,但没有任何解释。 – 2013-02-25 10:11:33

+0

确实忘记输入那部分,但我认为它是我的意思;)没有自动更正SO:p – JMan 2013-02-25 10:18:38

3

您需要使用AddHandler所使用订阅活动(当您不使用Handles条款时):

AddHandler DataFilter1.OnFilterAdded, AddressOf DataFilter1_OnFilterAdded