我正在试图弄清楚如何用C ++ / CLI类事件包装一个非托管类的boost :: function成员(用作事件回调)。我无法控制非托管类。我所能做的就是弄清楚如何正确编写C ++ / CLI类。
以下是非托管类的示例:
class X
{
public:
boost::function<void (double)> XChanged;;
void Set(double x)
{
XChanged(x)
}
};
我尝试了很多东西,但我一直遇到问题。我相信它比看起来容易。任何帮助将不胜感激!
答案 0 :(得分:0)
CLI可能不会让你将boost :: function声明为静态成员。把它作为一个指针:
boost::function<void(double> *XChanged;
然后在构造函数和终结器中分配/解除分配,并使用(* XChanged)(arg)调用它;