4

ネイティブ 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# デリゲートにバインドできる方法を知っている人はいますか?

4

2 に答える 2

1

C++/CLIのタスクのように聞こえます。

混合アセンブリマネージ コードからのネイティブ関数の呼び出しも参照してください。

于 2008-11-17T13:24:04.443 に答える
1

SWIG を使用してデリゲートを C# から C++ に渡し、それを関数ポインターに割り当ててから関数ポインターを呼び出すと、デリゲートがトリガーされます。

于 2009-03-12T21:03:19.497 に答える