小编PPP*_*ira的帖子

如何在托管 C++ 中正确实现带有事件的 C# 接口

您好,我正在尝试在我的托管 C++ dll 中实现 C# 接口,如下所示:

public ref class MyClass : public IMyInterface 
{
 // Inherited via IMyInterface
 virtual event EventHandler<MyEventArgs ^> ^ MyLoadedEvent;

 public:
     virtual event EventHandler<MyEventArgs ^> MyLoadedEvent 
                {
                    void add(MyEventArgs ^ f)
                    {
                      // some magic
                    }
                    void remove(MyEventArgs ^ f)
                    {
                      // some magic
                    }
                }
}
Run Code Online (Sandbox Code Playgroud)

但我不断收到两个错误:

1) 事件类型必须是句柄到委托类型

2) 类未能实现在...dll 中声明的接口成员函数“MyLoadedEvent::add”

我在实现中缺少什么或者实现接口事件的正确方法是什么?

谢谢!

c# c++ managed-c++ c++-cli visual-c++

2
推荐指数
1
解决办法
474
查看次数

标签 统计

c# ×1

c++ ×1

c++-cli ×1

managed-c++ ×1

visual-c++ ×1