原文链接:http://docs.autofac.org/en/latest/register/registration.html所谓注册组件,是指创建 ContainerBuilder 的实例,并告诉它哪些组件暴露哪些服务。组件可以用反射创建,可以提供已经创建好的对象的实例,还 ...
原文链接:http://docs.autofac.org/en/latest/register/registration.html
所谓注册组件,是指创建 ContainerBuilder 的实例,并告诉它哪些组件暴露哪些服务。
组件可以用反射创建,可以提供已经创建好的对象的实例,还可以用拉姆达表达式创建。ContainerBuilder 有一组 Register 方法来进行装配。
每个组件暴露一到多个服务,这些服务用生成器的 As 方法连接起来。
// 创建生成器,生成器用来注册组件和服务var builder = new ContainerBuilder();// 注册暴露接口的类型builder.RegisterType<ConsoleLogger>().As<ILogger>();// 注册已存在的对象实例var output = new StringWriter();builder.RegisterInstance(output).As<TextWriter>();// 注册创建对象的表达式builder.Register(c => new ConfigReader("mysection")).As<IConfigReader>();// 生成容器,完成注册,准备解析对象var container = builder.Build();// 现在可以用 Autofac 解析服务,例如,// 这行代码将执行拉姆达表达式解析 IConfigReader 服务using(var scope = container.BeginLifetimeScope()){ var reader = container.Resolve<IConfigReader>();}
原标题:[翻译] Autofac 中注册的概念
关键词:
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。