重複の可能性:
BindingList<T> から派生したクラスのパブリック フィールド/プロパティはシリアル化されません
このオブジェクトをシリアル化しようとすると、リスト プロパティのみがシリアル化されます。
オブジェクトコード:
public class checkList<T>: List<T>
{
public bool check = true;
public string path;
public string type;
}
シリアル化するインスタンスがあります:
List<checkList<Keys>> hookKeys;
コードをデシリアライズします:
FileStream fs = new FileStream("list", FileMode.Open, FileAccess.Read);
XmlSerializer ser = new XmlSerializer(typeof(List<checkList<Keys>>));
hookKeys = (List<checkList<Keys>>)ser.Deserialize(fs);
fs.Close();
コードのシリアル化:
FileStream fsK = new FileStream("list", FileMode.Create, FileAccess.Write);
XmlSerializer serK = new XmlSerializer(typeof(List<checkList<Keys>>));
serK.Serialize(fsK, (List<checkList<Keys>>)hookKeys);
fsK.Close();
シリアル化後の xml ファイル:
<ArrayOfArrayOfKeys xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<ArrayOfKeys>
<Keys>X</Keys>
<Keys>Z</Keys>
<Keys>C</Keys>
</ArrayOfKeys>
</ArrayOfArrayOfKeys>
他のプロパティもシリアル化する方法は?