【问题标题】:Set default ConstructorSelector in Autofac在 Autofac 中设置默认的 ConstructorSelector
【发布时间】:2018-06-08 13:15:30
【问题描述】:

Autofac 有一个很好的选项来设置构造函数解析策略。

例如通过使用MostParametersConstructorSelector:

builder.RegisterType<MyClass>()
       .AsImplementedInterfaces()
       .UsingConstructor(new MostParametersConstructorSelector());

是否有设置默认ConstructorSelector 的选项?

我试过了:

builder.RegisterType<MostParametersConstructorSelector>().As<IConstructorSelector>();

在 Autofac 的文档或源代码中找不到

【问题讨论】:

  • DefaultConstructorFinder 不是构造函数 selector,它是构造函数 finder。默认选择器MostParametersConstructorSelector。不清楚你在问什么。此外,容器中的注册将不起作用,因为容器只会在注册后构建。 Autofac 内部只是在注册阶段显式创建新对象 - 包括默认构造函数选择器。

标签: c# autofac autofac-configuration


【解决方案1】:

目前无法在全局级别更改查找器或选择器。您现在最好的选择是将其包装在一个简单的扩展方法中,并根据需要使用您的扩展方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-29
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多