Spring.NET依赖注入框架学习-- 泛型对象的创建和使用
2017-05-19 11:48
771 查看
Spring.NET依赖注入框架学习-- 泛型对象的创建和使用
泛型对象的创建方法和普通对象是一样的。
通过构造器创建泛型对象
下面是一个泛型类的代码:
namespace GenericsPlay { public class FilterableList<T> { private List<T> list; private String name; public List<T> Contents { get { return list; } set { list = value; } } public String Name { get { return name; } set { name = value; } } public List<T> ApplyFilter(string filterExpression) { /// should really apply filter to list ;) return new List<T>(); } } }
下面是该类的对象定义:
<object id="myFilteredIntList" type="GenericsPlay.FilterableList<int>, GenericsPlay"> <property name="Name" value="My Integer List"/> </object>
在为泛型类对象指定type属性的时候要注意:第一,左尖括号<要替换成字符串“<”,因为在XML中左尖括号会被认为是小于号。从可读性来讲,我们都知道这并不是理想的方式。第二,type参数值中不能包含程序集的名称,因为程序集名称要求和类型全名用逗号隔开,而在这里逗号已经被用来分隔泛型类的类型参数了。将来可能会用其它字符代替这两个符号,但目前还没找到更具可读性的方案。若要提高可读性,建议使用类型别名,如下所示:
<typeAliases> <alias name="GenericDictionary" type=" System.Collections.Generic.Dictionary<,>" /> <alias name="myDictionary" type="System.Collections.Generic.Dictionary<int,string>" /> </typeAliases>
然后,下面的对象定义:
<object id="myGenericObject" type="GenericsPlay.ExampleGenericObject<System.Collections.Generic.Dictionary<int , string>>, GenericsPlay" />
就可以缩短为:
<object id="myOtherGenericObject" type="GenericsPlay.ExampleGenericObject<GenericDictionary<int , string>>, GenericsPlay" />
或者更短:
<object id="myOtherOtherGenericObject" type="GenericsPlay.ExampleGenericObject<MyIntStringDictionary>, GenericsPlay" />
相关文章推荐
- Spring.NET依赖注入框架学习--简单对象注入
- SPRING.NET 1.3.2 学习21--使用对象或类的属性值进行注入
- spring.net学习笔记1--依赖对象注入
- ASP.NET_MVC使用Spring.Net.MVC依赖注入学习笔记
- Spring.NET依赖注入框架学习--入门
- Spring.NET依赖注入框架学习--实例化容器常用方法
- Spring 3.0 学习-DI 依赖注入_创建Spring 配置-使用一个或多个XML 文件作为配置文件,使用自动注入(byName),在代码中使用注解代替自动注入,使用自动扫描代替xml中bea
- SSM框架之spring学习1——创建对象,处理依赖关系
- Spring.NET依赖注入框架学习--简介
- 打造简易的依赖注入框架(下)(此篇与Spring.NET无关,为自己手写IoC框架)
- SPRING.NET 1.3.2 学习5--依赖注入
- Spring框架学习(11):Spring泛型依赖注入
- SSH框架之Spring的IOC容器的创建对象、对象依赖关系(1)
- 框架学习之Spring 第二节 采用Spring管理Bean和依赖注入
- spring 框架中的依赖注入(IOC--设值注入)--使用注解--的具体实例的简单实现
- spring 学习小结10—泛型依赖注入
- Spring学习笔记(二)——注解创建对象和注入属性
- .NET 使用spring.net实现依赖注入
- Spring.net 学习笔记二 依赖注入
- 扩展ASP.NET MVC三层框架并使用StructureMap实现依赖注入2