我在我的 Web API 项目中使用 StructureMap(版本 3.1.4.143)进行一般依赖解析,到目前为止它工作正常。我希望结构映射遵循选择具有大多数参数的构造函数的默认行为。但是,对于特定类型,我想使用要使用的特定构造函数。
例如,我有一些服务合同
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>();