StrangeIoc默认使用的是Event的方式,所以我们要重新绑定一下使用Signal的方式。在MVCSContext下,重写
public override IContext Start() { base.Start(); //程序"起点"的修改,使用StartSignal信号来触发 StartSignal startSignal = (StartSignal)injectionBinder.GetInstance<StartSignal>(); startSignal.Dispatch(); return this; } protected override void addCoreComponents() { base.addCoreComponents(); //先解绑,再重新绑定到SignalCommandBinder injectionBinder.Unbind<ICommandBinder>(); injectionBinder.Bind<ICommandBinder>().To<SignalCommandBinder>().ToSingleton(); } protected override void mapBindings() { //和以前一样绑定,不过Event的枚举变成了刚刚触发的StartSignal commandBinder.Bind<StartSignal>().To<StartCommand>(); }