重複の可能性:
コンストラクターのパラメーターを Unity の Resolve() メソッドに渡すことはできますか?
C#/Unity でのコンストラクター インジェクション?
解決するサービスのコンストラクターで引数を渡してユニティを使用して依存関係を解決することは可能ですか?
それがどうすればできるのですか?
重複の可能性:
コンストラクターのパラメーターを Unity の Resolve() メソッドに渡すことはできますか?
C#/Unity でのコンストラクター インジェクション?
解決するサービスのコンストラクターで引数を渡してユニティを使用して依存関係を解決することは可能ですか?
それがどうすればできるのですか?
を作成し、InjectionConstructor
それをに渡しますRegisterType()
:
var unityContainer = new UnityContainer();
ISnuh snuh = new Snuh();
InjectionConstructor injectionConstructor = new InjectionConstructor(snuh);
unityContainer.RegisterType<ICalculator, SimpleCalculator>(injectionConstructor);
タイプを解決するときにのみ実行する必要がある場合は、そのときResolverOverride[]
に使用されます。
public static T Resolve<T>(this IUnityContainer container, params ResolverOverride[] overrides);
MSDNごと:
指定されたコンストラクター パラメーターをオーバーライドするには、ParameterOverride を使用します。