代码之家  ›  专栏  ›  技术社区  ›  Chris Roberts

非常具体的C#到VB.NET的转换问题

  •  3
  • Chris Roberts  · 技术社区  · 14 年前

    我正试图将一些示例代码从C.*转换成我在VB.NET中编写的一个现有项目的代码库,并且我遇到了一个问题。

    原始代码行是:

    EventHub.Subscribe<HandshakingEvent>(container.Resolve<HandshakeAuthenticator>().CheckHandshake);
    

    我已经改成:

    EventHub.Subscribe(Of HandshakingEvent)(Container.Resolve(Of HandshakeAuthenticator)().CheckHandshake)
    

    但是-这会导致错误,“没有为CheckHandshake的参数'ev'指定参数”。

    参数的类型 订阅(握手事件的) 程序是 系统动作(握手事件)

    提前谢谢。。。 -克里斯

    2 回复  |  直到 14 年前
        1
  •  5
  •   SLaks    14 年前

    尝试

    EventHub.Subscribe(Of HandshakingEvent)(AddressOf Container.Resolve(Of HandshakeAuthenticator)().CheckHandshake)
    

    (使用 AddressOf

        2
  •  3
  •   Guffa    14 年前

    VB代码试图调用该方法,而不是为其创建委托。使用 AddresOf 获取deletegate的运算符:

    EventHub.Subscribe(Of HandshakingEvent)(AddressOf Container.Resolve(Of HandshakeAuthenticator)().CheckHandshake)