【发布时间】:2012-05-12 07:43:10
【问题描述】:
我的 MVC 3 控制器类中有一个方法,它接受两个参数:
public ActionResult MyMethod(string providerName, IAuthProvider providerImpl)
我在 Unity 容器中通过其名称注册了 IAuthProvider 的多个实现,如下所示:
container.RegisterType<IAuthProvider, FacebookAuthProvider>("facebook");
container.RegisterType<IAuthProvider, GoogleAuthProvider>("google");
因此,当调用该方法时,我希望根据第一个参数解析第二个参数。例如,如果第一个参数是 'facebook',则第二个参数必须从容器解析为以名称 'facebook' 注册的 IAuthProvider 实现。
我期待任何想法!
备注:我用的是Unity.2.1.505.0
【问题讨论】:
标签: c# asp.net-mvc-3 dependency-injection unity-container