public static List<T> FormatClassForCSV<T>(List<List<string>> list)
{
List<T> result=null;
T item = default(T);
for(int j=1;j<list.count;j++)
{
List<string> currentRowData = list[j];
item = Activator.CreateInstance<T>();
Type t = item.GetType();
FileInfo[] arrary = t.GetFields();
FileInfo info = null;
for(int i =0;i<arrary.Length;i++)
{
if(i<currentRowData.Count)
{
info = arrary[i];
Type tt = info.FieldType;
if(tt==typeof(string))
{
var tData = currentRowData[i];
info.SetValue(item,tData);
}else if(tt==typeof(int))
{
var tData = 0;
int.TryParse(currentRowData[i],out tData);
info.SetValue(item,tData);
}else if(tt==typeof(bool))
{
var tData = false;
bool.TryParse(currentRowData[i],out tData);
info.SetValue(item,tData);
}else if(tt==typeof(float))
{
var tData = false;
float.TryParse(currentRowData[i],out tData);
info.SetValue(item,tData);
}
}
}
result.Add(item);
}
return result;
}
根据CSV文件,进行解析类