使用C ++ / CLI类事件包装boost :: function

时间:2009-04-25 04:50:06

标签: events boost c++-cli

我正在试图弄清楚如何用C ++ / CLI类事件包装一个非托管类的boost :: function成员(用作事件回调)。我无法控制非托管类。我所能做的就是弄清楚如何正确编写C ++ / CLI类。

以下是非托管类的示例:

class X
{
public:
    boost::function<void (double)> XChanged;;

    void Set(double x)
    {
        XChanged(x)
    }
};

我尝试了很多东西,但我一直遇到问题。我相信它比看起来容易。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

CLI可能不会让你将boost :: function声明为静态成员。把它作为一个指针:

boost::function<void(double> *XChanged;

然后在构造函数和终结器中分配/解除分配,并使用(* XChanged)(arg)调用它;