【发布时间】:2012-01-30 19:51:12
【问题描述】:
我正在开发一个 Silverlight 应用程序,并在其中引入了Unity。
我的问题是我不知道如何获取容器实例。
我在App 的ApplicationStartup 方法中创建了这个实例
_container = new UnityContainer();
_container.RegisterType<IMyAppServiceAgent, MyAppServiceAgent>(new InjectionConstructor(OriginalHandlerId, W2OGuid, ServiceEndpointAddr));
我写了一个吸气剂
public IUnityContainer Container
{
get { return _container; }
}
一切正常,这就是我使用容器的方式:
public static void CreateMemberSearch()
{
if (_memberSearch == null)
{
_memberSearch =
new MemberSearchViewModel((App.Current as App).Container.Resolve<IMyAppServiceAgent>());
}
}
以上示例来自 ViewModelLocator(来自 MVVM Light Toolkit)。
我需要知道如何重构我的代码以符合 IOC 原则。
【问题讨论】:
标签: silverlight mvvm inversion-of-control unity-container