Prism UnityBootstrapper IUnityContainer Resolve返回一个Object,而不是DependencyObject

时间:2016-11-30 11:55:26

标签: c# wpf unity-container prism

Prism UnityBootstrapper IUnityContainer Resolve返回一个Object而不是DependencyObject。

参数也发生了变化。

以前我们只需要传递一个通用参数,但现在有3个。

GitHub上的示例仍然没有反映出这些变化。

我想知道为什么这会改变,并且与以前的实施相比有什么好处?

我在IUnityContainer上看不到任何通用的Resolve方法。

IUnityContainer

2 个答案:

答案 0 :(得分:0)

首先,这与Prism无关,因为这是Unity容器行为特有的。其次,IUnityContainer.Resolve总是返回一个对象。这从未改变过。如果您想要强类型返回类型,请使用Resolve<T>

答案 1 :(得分:0)

通用解析是一种扩展方法,位于Microsoft.Practices.Unity.UnityContainerExtensions,因此添加

using Microsoft.Practices.Unity;

代码和

var anObjectOfMyType = _container.Resolve<MyType>();
var anInterfaceImplementation = _container.Resolve<IMyInterface>();

应该有用。