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;
}