私はいくつかのプロパティを持つXMLにオブジェクトをシリアル化しようとしています。プライベートメンバーデータをシリアライズ
public Guid Id { get; private set; }
[Serializable]クラスにマークしました。私はISerializableインターフェイスを実装しました。
以下は私のオブジェクトをシリアル化するために使用しているコードです。
public void SaveMyObject(MyObject obj)
{
XmlSerializer serializer = new XmlSerializer(typeof(MyObject));
TextWriter tw = new StreamWriter(_location);
serializer.Serialize(tw, obj);
tw.Close();
}
残念ながら、このメッセージは最初の行に表示されます。
InvalidOperationExceptionが処理されませんでした: 一時クラス(結果= 1)を生成できません。 エラーCS0200:プロパティまたはインデクサは「MyObject.Id」に割り当てることはできません - 私はそれが正常に動作し国民にIDプロパティを設定した場合、それが唯一の
読み込まれます。誰かが私が何かをしているか、少なくともそれが可能であれば教えてもらえますか?
+1、私の答えに関する助言をいただきありがとうございます。 –
DataContractSerializerを使用するようにコードを変更しましたが、GetObjectDataメソッドがまだ実行されていることがわかりました。私は自分のプロパティに属性を入れてシリアル化するか、ISerializableインターフェイスを実装できると思っていますか? –
ISerializable(またはIXmlSeializable?)を実装している場合は、基本的にはすべて自分で作業しています... –