Prism UnityBootstrapper IUnityContainer 解析 returns 一个对象而不是 DependencyObject
Prism UnityBootstrapper IUnityContainer Resolve returns an Object as opposed to DependencyObject
Prism UnityBootstrapper IUnityContainer 解析 returns 对象而不是 DependencyObject。
参数也变了
以前只需要传递一个泛型参数,现在有3个。
GitHub 上的示例仍然没有反映这些变化。
我想知道为什么会发生这种变化,以及它与之前实施相比的优势?
我在 IUnityContainer 上没有看到任何通用的 Resolve 方法。
首先,这与 Prism 无关,因为这是特定于 Unity 容器行为的。其次,IUnityContainer.Resolve 总是 returned 一个对象。这一点从未改变。如果你想要一个强类型 return 类型然后使用 Resolve<T>
.
泛型 resolve 是一个扩展方法,驻留在 Microsoft.Practices.Unity.UnityContainerExtensions
中,因此添加
using Microsoft.Practices.Unity;
您的代码和
var anObjectOfMyType = _container.Resolve<MyType>();
var anInterfaceImplementation = _container.Resolve<IMyInterface>();
应该可以。
Prism UnityBootstrapper IUnityContainer 解析 returns 对象而不是 DependencyObject。
参数也变了
以前只需要传递一个泛型参数,现在有3个。
GitHub 上的示例仍然没有反映这些变化。
我想知道为什么会发生这种变化,以及它与之前实施相比的优势?
我在 IUnityContainer 上没有看到任何通用的 Resolve 方法。
首先,这与 Prism 无关,因为这是特定于 Unity 容器行为的。其次,IUnityContainer.Resolve 总是 returned 一个对象。这一点从未改变。如果你想要一个强类型 return 类型然后使用 Resolve<T>
.
泛型 resolve 是一个扩展方法,驻留在 Microsoft.Practices.Unity.UnityContainerExtensions
中,因此添加
using Microsoft.Practices.Unity;
您的代码和
var anObjectOfMyType = _container.Resolve<MyType>();
var anInterfaceImplementation = _container.Resolve<IMyInterface>();
应该可以。