クラスのインスタンスの各フィールドを個別のファイルに保存しようとしているこのコードがあります。私はそれをすべて書き出しましたが、何かが正しくないように見えます。問題は、データを含むインスタンスを参照せず、型だけを参照することです。そして、それは私にはまったく正しくないようです。System.Reflection を使用しています。では、インスタンスを参照するにはどうすればよいでしょうか。それとも私はすでにそれを知らないのですか?これが私のコードです:
public static void Save(appData data)
{
string filename;
// this does not accept the variable "data", only the class spec "appData"
var fields = typeof(appData).GetFields(BindingFlags.Instance);
foreach (FieldInfo field in fields)
{
try
{
filename = (string)field.GetValue("dataFile");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
Console.ReadLine();
}
dataStream = new FileStream(filename,
FileMode.Truncate, FileAccess.Write,
FileShare.Read);
serial.Serialize(dataStream, field );
dataStream.Flush();
dataStream.Close();
dataStream = null;
}
}