1

Boost.Signals2 を Hypodermic で使用するには、どのようにスロットを接続すればよいですか? OnActivating ブロック内に接続コードを配置しますか?

Hypodermic は Signals2 で構築されていますが、お互いの機能が重複していないと考えるのは正しいですか?

4

1 に答える 1

2

OnActivating でシグナルを接続しても、シグナルは「発火」しません。つまり、シグナルのデリゲートは呼び出されません。

しかしもちろん、次のようにして機能させることもできます。

mySignal.connect([](std::shared_ptr< Foo > foo)
{
    // do some stuff with Foo being activated
}); 

builder.autowireType< Foo >()->onActivating(
    [&mySignal](IActivatingData< Foo >& data)
    {
        // invoke all delegates...
        mySignal(data.instance());
    }
);

それが役立つことを願っています。

于 2013-02-19T15:28:56.420 に答える