IOC容器-Autofac

发布时间 2023-05-10 09:08:25作者: zengxw1113
  • Autofac是第三方IOC容器,是当前最流行的IOC容器。

1.容器创建对象

//创建一个容器建造者
ContainerBuilder containerBuilder = new ContainerBuilder();
//注册普通类
containerBuilder.RegisterType<Honer>();
//build一下,得到一个容器
IContainer container = containerBuilder.Build();
//可以基于容器来获取对象的实例
Honer phone = container.Resolve<Honer>();

2.注册抽象与实现

ContainerBuilder containerBuilder = new ContainerBuilder();
//将Honer类注册为IPhone接口的实现 containerBuilder.RegisterType
<Honer>().As<IPhone>(); IContainer container = containerBuilder.Build(); IPhone phone = container.Resolve<IPhone>();

 

  • RegisterAssemblyTypes(程序集数组),程序集必须是public的
  • AsImplementedInterfaces():表示注册的类型,以接口的方式注册
  • PropertiesAutowired():支持属性注入
  • Where:满足条件类型注册