我正試圖將WP7上的Caliburn Micro與Ninject結合使用。一切都非常簡單。然而,一旦實例被Ninject激活,我一直堅持如何解決事件。攔截Ninject實例激活?
以下是Caliburn Micro的SimpleContainer中的ActivateInstance方法,這是CM爲手機提供的IoC容器。
protected virtual object ActivateInstance(Type type, object[] args) {
var instance = args.Length > 0 ? Activator.CreateInstance(type, args) : Activator.CreateInstance(type);
Activated(instance);
return instance;
}
我在Ninject註冊我的類型,當它們被激活時,我需要激活Activated事件。我看着攔截,這可能是要走的路線,但我不認爲動態代理和Linfu將在手機上工作。
爲了澄清更多,我沒有使用SimpleContainer,以上是顯示SimpleContainer在實例激活時的功能。我有一個NinjectBootstrapper和一個實現IPhoneContainer的NinjectContainer。我無法弄清楚如何使用Ninject實現event Action<object> Activated;
。
更新:.OnActivation()
看起來像機票。
Kernel.Bind<IMyService>().To<MyService>().InSingletonScope().OnActivation();
我正在實施IPhoneContainer。我的問題是,我不知道如何執行事件操作
更新給出了一種在創建對象時獲取通知的方式。 – 2011-12-28 05:50:04
更好,謝謝。 – 2011-12-28 05:54:42