1

重複の可能性:
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>

他のプロパティもシリアル化する方法は?

4

0 に答える 0