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