1

可能重复:
我可以将构造函数参数传递给 Unity 的 Resolve() 方法吗?
C#/Unity 中的构造函数注入?

可以在服务的构造函数中通过统一传递参数来解决依赖关系来解决?

如果是我该怎么办?

4

1 回答 1

6

创建一个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 覆盖指定的构造函数参数或参数。

于 2012-12-04T23:35:13.743 回答