3

我正在注册这样的类型:

IUnityContainer container = new UnityContainer()
                .RegisterType<IActiveDirectoryUser, ADUser>();

ADUser 类包含 2 个构造函数,一个是无参数的,一个是单参数的。当解析器去解析它时,它会选择带有参数的那个。我如何告诉它使用无参数委托人?

4

2 回答 2

10

注册类型时,用于InjectionConstructor指示 Unity 应使用无参数构造函数:

IUnityContainer container = new UnityContainer();
container.RegisterType<IActiveDirectoryUser, ADUser>(new InjectionConstructor());

由于您没有向InjectionConstructor构造函数传递任何类型,Unity 将知道在实例化ADUser类时使用无参数构造函数。

于 2012-08-08T19:01:01.960 回答
1

用 注释需要的构造函数[InjectionConstructor]

于 2012-08-08T18:52:02.050 回答