博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义简单IOC类
阅读量:6825 次
发布时间:2019-06-26

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

支持.net4.0版本

public class MyXmlFactory    {        private IDictionary
objectDefine = new Dictionary
(); public MyXmlFactory(string fileName) { InstanceObjects(fileName); // 实例IoC容器 } ///
/// 实例IoC容器 /// ///
private void InstanceObjects(string fileName) { XElement root = XElement.Load(fileName); var objects = from obj in root.Elements("object") select obj; objectDefine = objects.ToDictionary( k => k.Attribute("id").Value, v => { string typeName = v.Attribute("type").Value; Type type = Type.GetType(typeName); return Activator.CreateInstance(type); } ); } ///
/// 获取对象 /// ///
///
public object GetObject(string id) { object result = null; if (objectDefine.ContainsKey(id)) { result = objectDefine[id]; } return result; } }

xmL文件(Objects.xml):

<objects>

<object id="PersonDao" type="MyselfIoC.PersonDao, MyselfIoC" />

</objects>

 调用:

MyXmlFactory ctx = new MyXmlFactory(@"Objects.xml"); Console.WriteLine(ctx.GetObject("PersonDao").ToString());

  

 

  

 

转载于:https://www.cnblogs.com/xmyy/articles/3823465.html

你可能感兴趣的文章
Redis 基础、高级特性与性能调优
查看>>
BZT52C15S资料
查看>>
Laravel Telescope入门教程(上)
查看>>
Linux配置ip 及网络问题排查
查看>>
AndroidStudio用Cmake方式编译NDK代码(cmake配置.a库)
查看>>
OSChina 周四乱弹 ——黑丝短裙java程序员同事
查看>>
设置iptables之后不能正常访问ftp解决方法
查看>>
移动端rem布局
查看>>
jsp与iframe跨域访问的一个方法
查看>>
ViewPager + Fragment 取消预加载
查看>>
BigDecimal 02 - 注意事项
查看>>
用js玩桌球游戏
查看>>
maven下运行jetty报错
查看>>
android 配置framework 使应用首选安装在SD卡
查看>>
h5 点击表单 顶部fixed 菜单栏 上移
查看>>
windows 2008 R2 64位系统杀毒软件
查看>>
我的友情链接
查看>>
netty学习笔记
查看>>
更改win7文件类型默认操作
查看>>
我的友情链接
查看>>