为了将Boost.Signals2与Hypodermic一起使用,我将如何连接插槽?我会将连接代码放在OnActivating块中吗?
即使Hypodermic是使用Signals2构建的,我还是认为他们没有重复彼此的功能吗?
答案 0 :(得分: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());
}
);
希望有所帮助。