将API示例从C#转换为VB用于DoL API

时间:2012-08-30 18:16:54

标签: c# .net vb.net c#-4.0

我正在尝试将此示例代码从美国劳工部API文档从C#转换为VB(非常酷,如果我可以使其工作。请查看here)。我制作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'公共事件发送请求(发件人为对象,e为   System.Data.Services.Client.SendingRequestEventArgs)'是一个事件,和   不能直接调用。使用'RaiseEvent'语句来引发   事件
  •   
  • 错误2委托'System.EventHandler(Of   System.Data.Services.Client.SendingRequestEventArgs)'需要一个   'AddressOf'表达式或lambda表达式作为唯一的参数   它的构造函数。
  •   

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

将违规行替换为:

AddHandler entity.SendingRequest, AddressOf DOLDataUtil.service_SendingRequest

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