将boost :: signal包装到C#代理

时间:2008-11-17 13:04:09

标签: c# c++ boost wrapper swig

说我有一个异步库,用本机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#代表?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

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