MVC 3コントローラークラスに、次の2つのパラメーターを受け入れるメソッドがあります。
public ActionResult MyMethod(string providerName, IAuthProvider providerImpl)
IAuthProvider
次のように、Unityコンテナにその名前で登録された複数の実装があります。
container.RegisterType<IAuthProvider, FacebookAuthProvider>("facebook");
container.RegisterType<IAuthProvider, GoogleAuthProvider>("google");
したがって、メソッドが呼び出されたときに、最初の引数に基づいて2番目の引数を解決したいと思います。たとえば、最初の引数が「facebook」の場合、2番目の引数はコンテナからIAuthProvider
「facebook」という名前で登録された実装に解決される必要があります。
どんなアイデアも楽しみにしています!
備考:Unity.2.1.505.0を使用しています