c# - 我需要帮助将 c# 匿名方法转换为 vb.net

标签 c# vb.net silverlight

provider.OptionsSet += delegate
{
  provider.FinishedLoading();
};

最佳答案

很好地演示了转换器是如何犯下这个严重错误的,他们已经犯了很长时间了。 += 运算符不是 VB.NET 语法,需要 AddHandler 才能订阅事件。 Do 的来源是任何人的猜测。 lambda 不能是函数,除非委托(delegate)类型返回一个值的极少数情况。一行三个错误,你没有机会。你需要 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。

关于c# - 我需要帮助将 c# 匿名方法转换为 vb.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5279477/

相关文章:

c# - 禁用应用程序在 Windows 8 Metro 中休眠

c# - C#更改另一个线程上的表单字符串

vb.net - 在 Visual Basic 中绘制节点图

mysql - 显示文本但使用组合框中的代码进行更新

c# - 识别对互操作库(Doument.Paragraphs 等)中对象的唯一引用

xml - 如何获取 RichTextBox 的内容?

silverlight - 如何从独立存储中读取图像并将其显示在图像元素上?

c# - 使用 Linq 读取 XML 并检查元素是否存在

c# - Entity Framework 不会包含()所有表

Linux/银光问题