Вопрос

скажем, у меня есть асинхронная библиотека, написанная на нативном 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 #?

Это было полезно?

Решение

Вы можете передать делегат в C ++ из C #, используя SWIG, назначить его указателю функции, а затем вызвать указатель функции, и он вызовет делегат.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top