C#泛型
Posted KevinSteven
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#泛型相关的知识,希望对你有一定的参考价值。
定义:通过参数化类型来实现在同一份代码上操作多种数据类型的技术。利用“参数化类型”将类型抽象化,从而实现灵活的复用。
优点
1、提高了代码的复用性
2、提高了性能,指定类型,解决了类型的转换,避免了拆箱与装箱
3、比较安全
格式:声明一个泛型的方法,方法名后面需要一个<T>,其中字母T不是固定的,可以使用其他字母。
T相当于占了一个位置,又相当于是一个代表了一个数据类型的参数占位符
示例代码:
public override void ChildLoadData(string path)
List<Model_CustomerInfo> list = GetList(model, path);
foreach (Model_CustomerInfo model in list)
this.DataList.Add(model);
public override void ChildLoadData(string path)
List<Model_CustomerPerson> list = GetList(model, path);
foreach (Model_CustomerPerson model in list)
this.DataList.Add(model);
public static List<T> GetList<T>(T child, string FilePath)
List<T> list = new List<T>();
if (!File.Exists(FilePath))
return list;
XmlSerializer reader = new XmlSerializer(typeof(List<T>));
System.IO.StreamReader file = new System.IO.StreamReader(FilePath);
try
list = (List<T>)reader.Deserialize(file);
catch (Exception ex)
SystemInfoManager.SaveMessageErr("【" + FilePath + "】提取数据异常:" + ex.Message);
finally
file.Close();
return list;
C# 泛型
概念:
泛型是C# 2.0发布的
类通过new 产生不同的对象。泛型是传入 类 来产生确定的 类型。怎么解释呢,多写代码就好了,看文字解释操蛋的很。
泛型的安全检查是在编译时,不是在运行时。
C#为我们提供了5种泛型:类、结构、接口、委托和方法
泛型的约束:where T:结构(值类型),where T:类,where T:new() 公共无参数构造函数 ,where T:<基类名称>,where T:<接口名称>,where T:U
下面来看代码:
哎呀,没代码,以后碰到设计模式再过来瞅瞅。
以上是关于C#泛型的主要内容,如果未能解决你的问题,请参考以下文章