//从CSV表初始化Dictionary private static Dictionary <int, T> LoadCsvData <T>(string _fileName) { Dictionary <int, T> dic = new Dictionary <int, T>(); /* 从CSV文件读取数据 */ Dictionary <string, Dictionary <string, string> > result = PFileStream.ReadCsvFile(_fileName); /* 遍历每一行数据 */ foreach (string id in result.Keys) { /* CSV的一行数据 */ Dictionary <string, string> datas = result[id]; /* 读取Csv数据对象的属性 */ PropertyInfo[] props = typeof(T).GetProperties(); /* 使用反射,将CSV文件的数据赋值给CSV数据对象的相应字段,要求CSV文件的字段名和CSV数据对象的字段名完全相同 */ T obj = Activator.CreateInstance <T>(); foreach (PropertyInfo p in props) { PReflectUtil.PiSetValue <T>(datas[p.Name], p, obj); } /* 按id-数据的形式存储 */ dic.Add(int.Parse(id), obj); } return(dic); }
public void CloseFile() { Writer.Close(); PFileStream.Close(); }