4

假设我有一个异步库,用本机 C++ 编写,接口类似于:

class connection {
public:
    boost::signal< void() > sig_connection_made;
    boost::signal< void(const std::string&) > sig_error;

    void connect(const std::string& host, const std::string& port);
};

我想用 C# 包装。有谁知道一种方法,使用 SWIG 或类似的东西,可以让我将信号绑定到 C# 委托?

4

2 回答 2

1

听起来像是C++/CLI的任务。

另请参阅混合程序集从托管代码调用本机函数

于 2008-11-17T13:24:04.443 回答
1

您可以使用 SWIG 将委托从 C# 传递到 c++ 中,将其分配给函数指针,然后调用函数指针,它将触发委托。

于 2009-03-12T21:03:19.497 回答