我正在注册这样的类型:
IUnityContainer container = new UnityContainer()
.RegisterType<IActiveDirectoryUser, ADUser>();
ADUser 类包含 2 个构造函数,一个是无参数的,一个是单参数的。当解析器去解析它时,它会选择带有参数的那个。我如何告诉它使用无参数委托人?
我正在注册这样的类型:
IUnityContainer container = new UnityContainer()
.RegisterType<IActiveDirectoryUser, ADUser>();
ADUser 类包含 2 个构造函数,一个是无参数的,一个是单参数的。当解析器去解析它时,它会选择带有参数的那个。我如何告诉它使用无参数委托人?
注册类型时,用于InjectionConstructor
指示 Unity 应使用无参数构造函数:
IUnityContainer container = new UnityContainer();
container.RegisterType<IActiveDirectoryUser, ADUser>(new InjectionConstructor());
由于您没有向InjectionConstructor
构造函数传递任何类型,Unity 将知道在实例化ADUser
类时使用无参数构造函数。
用 注释需要的构造函数[InjectionConstructor]
。