假设我有一个异步库,用 native C++ 编写,具有与此类似的接口(interface):
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 或类似东西的方法可以让我将信号绑定(bind)到 C# 委托(delegate)?
最佳答案
您可以使用 SWIG 将委托(delegate)从 C# 传递到 C++,将其分配给函数指针,然后调用函数指针,它将触发委托(delegate)。
关于c# - 将 boost::signal 包装到 C# 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/295533/