AutoFac使用方法总结一:注册】的更多相关文章

     控制反转(IoC/Inverse Of Control):   调用者不再创建被调用者的实例,由autofac框架实现(容器创建)所以称为控制反转.      依赖注入(DI/Dependence injection) :   容器创建好实例后再注入调用者称为依赖注入. AutoFac是一款IOC框架: 官方网站http://autofac.org/ 源码下载地址https://github.com/autofac/Autofac 注入方法一: var builder = new Co…
AutoFac使用方法总结:Part I 转自:http://niuyi.github.io/blog/2012/04/06/autofac-by-unit-test/ AutoFac是.net平台下的IOC容器产品,它可以管理类之间的复杂的依赖关系.在使用方面主要是register和resolve两类操作. 这篇文章用单元测试的形式列举了AutoFac的常用使用方法: 注册部分 使用RegisterType进行注册 1 2 3 4 5 6 7 8 9 10 [Fact] public void…
官方文档:http://docs.autofac.org/en/latest/register/registration.html 一.注册概念 使用Autofac 注册组件,通过创建一个ContainerBuilder并且告知builder 哪些组件公开哪些服务. 组件由反射(通过注册一个特殊的.net 类型或者开放的泛型)创建:通过提供现成的实例(你已创建的一个对象实例)创建:或由lambda表达式创建.ContainerBuilder有一系列的Register()方法,允许你实现以上这些设…
AutoFac是.net平台下的IOC容器产品,它可以管理类之间的复杂的依赖关系.在使用方面主要是register和resolve两类操作. 这篇文章用单元测试的形式列举了AutoFac的常用使用方法: 注册部分 使用RegisterType进行注册 [Fact] public void can_resolve_myclass() { var builder = new ContainerBuilder(); builder.RegisterType<MyClass>(); IContaine…
官方文档:http://docs.autofac.org/en/latest/register/prop-method-injection.html Autofac 属性和方法注入 虽然构造函数参数注入是为组件传递值的首选方法,你也可以使用属性或方法注入提供值. 属性注入使用可写入的属性,而不是构造函数的参数进行注入.方法注入通过调用一个方法设置依赖关系. 1.属性注入 如果是一个lambda表达式组件,使用一个对象来初始化: builder.Register(c => new A { B =…
Autofac类型注册 类型注册简单的从字面去理解就可以了,不必复杂化,只是注册的手段比较丰富. (一)类型/泛型注册 builder.RegisterType<Class1>(); 这种简单较常用,但缺点是注册的类型必须在当前项目或被当前项目引用,因为使用泛型,必须类型明确. 针对这点,还有一种通过Type对象进行注册的方式: //字符串为类型完全名称 builder.RegisterType(Type.GetType("AutofacBlog.Class_1")); 使…
事件 AutoFac支持三种事件:OnActivating,OnActivated,OnRelease.OnActivating在注册组件使用之前会被调用,此时可以替换实现类或者进行一些其他的初始化工作,OnActivated在实例化之后会被调用,OnRelease在组件释放之后会被调用. public class MyEvent : IDisposable { public MyEvent(string input) { Console.WriteLine(input); } public M…
注册部分 使用RegisterType进行注册 [Fact] public void can_resolve_myclass() { var builder = new ContainerBuilder(); builder.RegisterType<MyClass>(); IContainer container = builder.Build(); var myClass = container.Resolve<MyClass>(); Assert.NotNull(myClas…
Autofac类型注册 类型注册简单的从字面去理解就可以了,不必复杂化,只是注册的手段比较丰富. (一)类型/泛型注册 builder.RegisterType<Class1>(); 这种简单较常用,但缺点是注册的类型必须在当前项目或被当前项目引用,因为使用泛型,必须类型明确. 针对这点,还有一种通过Type对象进行注册的方式: //字符串为类型完全名称 builder.RegisterType(Type.GetType("AutofacBlog.Class_1")); 使…
AutoFac是.net平台下的IOC容器产品,它可以管理类之间的复杂的依赖关系.在使用方面主要是register和resolve两类操作. 这篇文章用单元测试的形式列举了AutoFac的常用使用方法: 注册部分http://niuyi.github.io/blog/2012/04/06/autofac-by-unit-test/ 使用RegisterType进行注册 1 2 3 4 5 6 7 8 9 10 [Fact] public void can_resolve_myclass() {…