Обтекание наддува :: сигнал для делегатов C #
Вопрос
скажем, у меня есть асинхронная библиотека, написанная на нативном 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, назначить его указателю функции, а затем вызвать указатель функции, и он вызовет делегат. Р>
Другие советы
Похоже на задачу для C ++ / CLI . р>
См. также Смешанные сборки и Вызов собственных функций из управляемого кода .
Не связан с StackOverflow