provider.OptionsSet += delegate
{
provider.FinishedLoading();
};
答案 0 :(得分:4)
很好地演示了转换器如何使这个显着错误,他们已经有很长一段时间了。 + =运算符不是VB.NET语法,订阅事件需要AddHandler。 Do 来自哪里是任何人的猜测。 lambda不能是Function,除了委托类型返回值的极少数情况。在一行中有三个错误,你没有机会。你需要VS2010写一个Sub lambda。像这样:
Module Module1
Sub Main()
Dim obj As New Test
AddHandler obj.example, Sub(sender As Object, e As EventArgs)
'' etc...
End Sub
End Sub
End Module
Class Test
Public Event example As EventHandler
End Class
对于早期版本,您需要一些非匿名帮助方法。像这样:
AddHandler obj.example, AddressOf helper
...
Sub helper(ByVal sender As Object, ByVal e As EventArgs)
'' etc..
End Sub
人类1,机器0。
答案 1 :(得分:0)
Pete Brown也有一个内联子的例子:
http://10rem.net/blog/2010/04/16/tip-anonymous-event-handlers-in-vbnet
答案 2 :(得分:-2)
provider.OptionsSet += Function() Do
provider.FinishedLoading()
End Function
这取自http://www.developerfusion.com/tools/convert/csharp-to-vb/,所以我没有测试过。如果您能够提供更多上下文,那可能会更有帮助。这是用来做什么的?