团结和Container.Resolve

Unity and Container.Resolve

我有一个 class,我需要使用我的容器从接口解析一个具体的 class。这个 class 不能采用构造函数,所以我尝试使用 container.Resolve 方法解析 class。

在我的 UnityHelper 中,我已经设置了所有容器项目,有问题的项目定义为:

container.RegisterType<OAuthAuthorizationServerProvider, AuthorisationServerProvider>();

然后在我的 startup.cs 文件中,我试图根据接口解析 class:

public class 启动 { 私人 OAuthAuthorizationServerProvider _authorisationServiceProvider;

public Startup()
{
    var _container = UnityConfig.GetConfiguredContainer();
    _authorisationServiceProvider = _container.Resolve<OAuthAuthorizationServerProvider>();
}

但是,我在“Resolve”上收到设计时错误,说非泛型方法不能与类型化参数一起使用。

我见过一些地方似乎我做得对。例如:

我做错了什么?

问题是您必须手动添加对 Unity 的引用。对于那些得到这个的人,确保你有:

using Microsoft.Practices.Unity;