假设我有一个异步库,用本机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#代表?
最佳答案 您可以使用SWIG将委托传递给c#,使用SWIG将其分配给函数指针,然后调用函数指针,它将触发委托.