我正在尝试将此示例代码从美国劳工部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表达式作为唯一的参数 它的构造函数。
我在这里缺少什么?
答案 0 :(得分:2)
将违规行替换为:
AddHandler entity.SendingRequest, AddressOf DOLDataUtil.service_SendingRequest
看看是否有帮助...... VB不支持添加事件处理程序的“+”语法。