欢迎来到天天文库
浏览记录
ID:35515552
大小:19.08 KB
页数:5页
时间:2019-03-25
《unity技术之xml配制文件使用泛型》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Unity在Xml配制文件使用泛型 在现在项目中,已经得到广泛使用。今天我们来看如何在XML配制文件配制泛型。如下我们这样的一个类型:1:publicinterfaceIRepository2:{3:IUnitOfWorkUnitOfWork{get;set;}4:IQueryableAll();5:IQueryableFind(Expression>expression);6:voidAttach(Tentity);7:voidAdd(Tentity);8:voidDelete(Tentity);9:voidSa
2、ve();10:} 这是一个Repository模式,【狗刨学习网】假设有以下的实现:1:publicclassEFRepository:IRepositorywhereT:class2:{3:publicIUnitOfWorkUnitOfWork{get;set;}4:privateIObjectSet_objectset;5:privateIObjectSetObjectSet6:{7:get8:{9:if(_objectset==null)10:{11:_objectset=UnitOfWork.Context.CreateO
3、bjectSet();12:}13:return_objectset;14:}15:}16: 17:publicvirtualIQueryableAll()18:{19:returnObjectSet.AsQueryable();20:}21: 22:publicIQueryableFind(Expression>expression)23:{24:returnObjectSet.Where(expression).AsQueryable();25:}26: 27:publicvoidAdd(Tentity)28:{29:Objec
4、tSet.AddObject(entity);30:}31:32:publicvoidAttach(Tentity)33:{34:ObjectSet.Attach(entity);35:}36: 37:publicvoidDelete(Tentity)38:{39:ObjectSet.DeleteObject(entity);40:}41: 42:publicvoidSave()43:{44:UnitOfWork.Save();45:}46:}在代码中注册是这样的:1:container.RegisterType();2:c
5、ontainer.RegisterType,EFRepository>();好的,现在我们从配制文件读取:1:privatestaticIUnityContainercontainer;2: 3:staticObjectFactory()4:{5:container=newUnityContainer();6: 7://container.RegisterType();8://container.RegisterType,E
6、FRepository>();9: 10:stringpath=Path.Combine(AppDomain.CurrentDomain.BaseDirectory,"EntLib.config.xml");11:varmap=newExeConfigurationFileMap{ExeConfigFilename=path};12: 13:System.Configuration.Configurationconfig14:=ConfigurationManager.OpenMappedExeConfiguration(map,ConfigurationU
7、serLevel.None);15:UnityConfigurationSectionsection16:=(UnityConfigurationSection)config.GetSection("unity");17:section.Containers["DefContainer"].Configure(container);18:}19:20:publicstaticTGetInstance()21:{22:returncontainer.Resolve();23:}关键的XML配制
此文档下载收益归作者所有