使用约定注册类型工厂

时间:2015-02-26 17:17:38

标签: castle-windsor

您可以按惯例注册类型工厂吗? 到目前为止,无法找到方法说.AsFactory()

        container.AddFacility<TypedFactoryFacility>();
        container.Register(Classes
            .FromThisAssembly()
            .InNamespace("Core.Factories", true)
            );

这可能不可行,但宁愿不用手工注册每个工厂。

提前致谢

1 个答案:

答案 0 :(得分:3)

使用约定配置时可以调用Configure;这允许你传递一个lambda,然后为匹配约定的每个组件调用它:只需在lambda中调用AsFactory

container.Register(
    Classes
        .FromThisAssembly()
        .InNamespace("Core.Factories", true)
        .Configure(c => c.AsFactory())
);