我正在处理的项目中有许多类,以简化处理需要读入和读出文本文件并分配给程序中的数据对象的数据。我需要编写一个方法来获取这些类中的任何一个并返回值的 csv 字符串。同样,我希望能够返回属性名称的 csv 字符串。我可以为每个类编写特定的方法,但我试图以一种只有一种方法来做到这一点的方式一般地做到这一点。
示例类:
public class Student
{
public string StudentID;
public string Form;
public string ScaleForm;
public double Totalscore;
public double MatrixRawScore;
public double ScaleScore;
public double Theta;
public int PerformanceLevel;
public double LowScaleScore;
public double HighScalescore;
public string AdminID;
public string Group;
public int GroupIndex;
public string ResponseVector;
}
这是我为实现目标所做的努力,但这显然行不通:
public static string ObjectToCsv<T>(T myObject)
{
var fields = typeof(T).GetProperties();
var objectString = "";
foreach (PropertyInfo prop in fields)
{
objectString = prop.GetValue(myObject, null).ToString() + ',';
}
objectString.TrimEnd(',');
return objectString;
}
当我的代码运行此方法时,PropertyInfo[] 的长度为 0,没有 PropertyInfo,因此该方法返回一个空白字符串。关于我可能需要做些什么来完成这项工作的任何想法?
编辑代码块以反映以下建议。