我正在使用StructureMap(版本3.1.4.143)来进行Web API项目中的一般依赖项解析,目前它运行良好。
我希望StructureMap遵循其默认行为,选择具有最多参数的构造函数。然而,对于特定类型,我想要使用特定的构造函数。
例如,我有一些服务契约。
public interface IService
{
void DoSomething();
}
以及实现类似于
public class Service : IService
{
public Service() { //something }
public Service(IRepo repo, ILogger logger) { //something }
//rest of the logic
}
仅对于这种类型,我想使用无参数构造函数。在StructureMap 3中如何实现?(我可以通过创建IConstructorSelector实例并将其作为策略应用于所有类型来实现此目的)
x.Policies.ConstructorSelector<ParamLessConstructorSelector>();