Autofac RegisterInstance vs SingleInstance 的用法和区别

2021-04-14  乐帮网

autofac

Autofac为我们提供了RegisterInstance和SingleInstance方法,它们使用的示例如下:

var instance = new MyInstance(); 

builder.RegisterInstance<IService>(instance); 
builder.Register(c => instance).As<IService>().SingleInstance(); 

相同之处是它们都是单例模式,实例的初始化都是外面提供的。不同之处是Register.As.SingleInstance 同时注册了IService接口。
我们也可以使用Autofac内置提供的构造函数来初始化。如下:

builder.Register(typeof(MyInstance)).As<IService>().SingleInstance(); 

以上就是他们的区别,总的来说Autofac为我们提供的方式还是挺多样化的。

公众号二维码

关注我的微信公众号
在公众号里留言交流
投稿邮箱:1052839972@qq.com

庭院深深深几许?杨柳堆烟,帘幕无重数。
玉勒雕鞍游冶处,楼高不见章台路。
雨横风狂三月暮。门掩黄昏,无计留春住。
泪眼问花花不语,乱红飞过秋千去。

欧阳修

付款二维码

如果感觉对您有帮助
欢迎向作者提供捐赠
这将是创作的最大动力