我的 MVC 3 控制器类中有一个方法,它接受两个参数:
public ActionResult MyMethod(string providerName, IAuthProvider providerImpl)
我IAuthProvider
在 Unity 容器中通过其名称注册了多个实现,如下所示:
container.RegisterType<IAuthProvider, FacebookAuthProvider>("facebook");
container.RegisterType<IAuthProvider, GoogleAuthProvider>("google");
因此,当调用该方法时,我希望根据第一个参数解析第二个参数。例如,如果第一个参数是“facebook”,则第二个参数必须从容器解析为以IAuthProvider
名称“facebook”注册的实现。
我期待任何想法!
备注:我用的是Unity.2.1.505.0