将无参数构造函数设置为容器创建中的注入构造函数

Bor*_*ens 9 c# ioc-container unity-container

我有一个有两个ctors的课.一个无参数和一个带参数.
Unity将默认采用gready方法并转到最后一个ctor.

如何定义要使用的ctor(我想参数化)而不在我的类中添加对Unity的依赖?我认为可以在我的容器创建中做到这一点,但我不知道如何.

目前我的注册条目如下所示:

container.RegisterType<IConfigurationService, SqlConfigurationService>()
Run Code Online (Sandbox Code Playgroud)

更新
我试图尽可能避免在XML(配置文件)中编程.

EXTRA
如何使用一个参数注册一个构造函数(它应该被注入)?
说ILoggerService已经注册,我想使用构造函数

public SqlConfigurationService(ILoggerService logger){}
Run Code Online (Sandbox Code Playgroud)

Mar*_*ann 19

我现在附近没有Unity,但据我记忆,你可以这样做:

container.RegisterType<IConfigurationService, SqlConfigurationService>(
    new InjectionConstructor())
Run Code Online (Sandbox Code Playgroud)