0

我正在尝试将美国劳工部 API 文档中的示例代码从 C# 转换为 VB(如果我能让它工作非常酷。在这里查看)。我不是在制作 MVC 示例。当我使用任何在线转换器时,我会收到错误:

-- line 1 col 11: invalid TypeDecl 

这是 C# 代码:

protected void Page_Load(object sender, EventArgs e)
    {
        AgencyEntities entity = new AgencyEntities(new Uri(“http://api.dol.gov/V1/DOLAgency”));
        entity.SendingRequest += new EventHandler<SendingRequestEventArgs>(DOLDataUtil.service_SendingRequest);
        AgenciesView.DataSource = entity.Agencies;
        AgenciesView.DataBind();
    }

我怎样才能在VB中把它连接起来?当我使用 VB Page_Load 逐行更改时,我得到了这个:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim entity As New AgencyEntities(New Uri("http://api.dol.gov/V1/DOLAgency"))

    entity.SendingRequest += New EventHandler(Of SendingRequestEventArgs)(DOLDataUtil.service_SendingRequest)
    AgenciesView.DataSource = entity.Agencies
    AgenciesView.DataBind()

End Sub

但是,线

entity.SendingRequest += New EventHandler(Of SendingRequestEventArgs)(DOLDataUtil.service_SendingRequest)

失败并出现几个错误:

  • 错误 1 ​​'Public Event SendingRequest(sender As Object, e As System.Data.Services.Client.SendingRequestEventArgs)' 是一个事件,不能直接调用。使用“RaiseEvent”语句来引发事件。
  • 错误 2 委托 'System.EventHandler(Of System.Data.Services.Client.SendingRequestEventArgs)' 需要一个 'AddressOf' 表达式或 lambda 表达式作为其构造函数的唯一参数。

我在这里想念什么?

4

1 回答 1

2

将有问题的行替换为:

AddHandler entity.SendingRequest, AddressOf DOLDataUtil.service_SendingRequest

看看这是否有帮助...VB 不支持添加事件处理程序的“+”语法。

于 2012-08-30T18:24:26.153 回答