博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# Ioc容器Unity,简单实用
阅读量:5339 次
发布时间:2019-06-15

本文共 1812 字,大约阅读时间需要 6 分钟。

开头先吐槽一下博客园超级不好用,添加图片后就写不动字了,难道是bug

好进入正题,先来说下依赖注入,简单来说就是定义好接口,上层代码调用接口,具体实现通过配置文件方式去指定具体实现类。

首先我们需要通过nuget来安装unity

安装好后就可以写一个方法类去实现依赖注入

public class UnityIocHelper : IServiceProvider    {        private readonly IUnityContainer _container;        private static readonly UnityIocHelper dbinstance = new UnityIocHelper("DBcontainer");        private UnityIocHelper(string containerName)        {            UnityConfigurationSection section = (UnityConfigurationSection)ConfigurationManager.GetSection("unity");            _container = new UnityContainer();            section.Configure(_container, containerName);        }        public static UnityIocHelper DBInstance        {            get { return dbinstance; }        }        public object GetService(Type serviceType)        {            return _container.Resolve(serviceType);        }        public T GetService
() { return _container.Resolve
(); } public T GetService
(params ParameterOverride[] obj) { return _container.Resolve
(obj); } public T GetService
(string name, params ParameterOverride[] obj) { return _container.Resolve
(name, obj); } }

具体调用方法

public static IDatabase Base(string connString)        {            return UnityIocHelper.DBInstance.GetService
(“MySql”, new ParameterOverride( "connString", connString)); }

配置信息

typeAlias 指定一个类的别名,
就是
IDatabase这个接口通过
MySql(
LRMC.Data.MySqlDapper.Database
)这个类去实现。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

转载于:https://www.cnblogs.com/lr215/p/5682940.html

你可能感兴趣的文章
js 滚动 学习
查看>>
Java Web(八) -- Ajax & Jquer
查看>>
JAVA8List排序,(升序,倒序)
查看>>
客户端读取图片文件
查看>>
EXTJS 4.2 实现 gridpanel 鼠标悬停单元格以提示信息的方式显示单元格内容。
查看>>
C# 泛型类(函数)的实例化
查看>>
python字符串之split
查看>>
Extensible Messaging and Presence Protocol (XMPP): Core
查看>>
Java多线程共享变量控制
查看>>
列表(list)小总结
查看>>
RabbitMQ消息机制广播分发
查看>>
requestAnimationFrame兼容性扩展
查看>>
调用图灵机器人做一个简单的机器人聊天
查看>>
Redis配置文件分析
查看>>
uniapp 检测android 是否开启GPS功能
查看>>
Valgrind工具简介
查看>>
几句话总结一个算法之Policy Gradients
查看>>
搬家来博客园了
查看>>
Asp.net MVC Global.asax文件
查看>>
Tomcat工作原理
查看>>