2008-11-17 25 views
4

說,我有一個異步庫,用本機C++,用類似這樣的界面:包裝的boost ::信號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#代表?

回答

1

您可以使用SWIG將委託從C#傳遞到C++,並將其分配給函數指針,然後調用函數指針並觸發委託。