私が取り組んでいるプロジェクトには、テキストファイルの読み取りと読み取り、およびプログラム内のデータオブジェクトへの割り当てが必要なデータの操作を簡素化するために、いくつかのクラスがあります。これらのクラスのいずれかを取得して、値のcsv文字列を返すメソッドを作成する必要があります。同様に、プロパティ名のcsv文字列を返すことができるようにしたいと思います。クラスごとに特定のメソッドを作成することもできますが、これを実行するメソッドが1つしかない方法で、これを一般的に実行しようとしています。
クラスの例:
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がないため、メソッドは空白の文字列を返します。これを機能させるために私が何をする必要があるかについて何か考えはありますか?
以下の提案を反映するように編集されたコードブロック。