如何在c#中接收在vb中引发的事件

本文关键字:事件 vb | 更新日期: 2023-09-27 18:17:55

我需要使用visual basic编写的遗留库,这会引发一些事件。实际上,我不知道如何在我的新c#项目中绑定一个动作,如果其中一个事件被引发。

遗留代码中的事件定义如下

Public Event OnStartOfMainLoop(ByRef evt As HandlerEvent, ByVal datapath As String, ByRef skipRun As Boolean, ByRef refreshQueueMap As Boolean, ByRef refreshFormsMap As Boolean)

和凸起

RaiseEvent OnStartOfMainLoop(evt, datapath, skipRun, refreshQueueMap, refreshFormsMap)

现在我如何在我的新项目中接收这个事件并处理它?

如何在c#中接收在vb中引发的事件

在c#中,您只需要订阅事件:

obj.OnStartOfMainLoop += MyEventHandlerMethod;
public void MyEventHandlerMethod(ref HandlerEvent evt, string datapath,
        ref bool skipRun, ref bool refreshQueueMap, ref bool refreshFormsMap)
{
    //Handle the event here
}

其中obj是要订阅的对象的实例,MyEventHandlerMethod是要将其路由到的方法。

您需要确保处理程序方法正确地实现所需的事件签名。