Я пытаюсь привести пример вместе с использованием Caliburn Micro на WP7 с Ninject. Все было довольно прямолинейно. Тем не менее, я зациклился на том, как запустить обход события, когда экземпляр активируется Ninject.Включить активацию экземпляра Ninject?
Вот метод ActivateInstance в SimpleContainer Caliburn Micro, контейнер IoC, который поставляется с CM для телефона.
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, и когда они активированы, мне нужно запустить активированное событие. Я посмотрел на перехват, который может быть маршрутом, но я не думаю, что динамический прокси и Linfu будут работать по телефону.
Чтобы уточнить, я не использую SimpleContainer, выше показано, что делает SimpleContainer, когда экземпляр активирован. У меня есть NinjectBootstrapper и NinjectContainer, который реализует IPhoneContainer. Я не могу понять, как реализовать event Action<object> Activated;
с помощью Ninject.
обновление:.OnActivation()
выглядит как билет.
Kernel.Bind<IMyService>().To<MyService>().InSingletonScope().OnActivation();
Я реализую IPhoneContainer. Моя проблема в том, что я не уверен, как реализовать событие Действие
Обновлено предоставление одного способа получения уведомления при создании объекта. –
Еще лучше, спасибо. –