3

C# でオブジェクトをディスクに保存/読み取りたい。一部のプロパティは [Serializable] とマークされていません。他に保存する方法はありますか?ディスク上のオブジェクトの形式は気にしません。ディスクにダンプして読み取りたいだけです。

助言がありますか?

4

2 に答える 2

3

提案された XmlSerializer の代替はprotobuf-netです。これは、SO/StackExchange の所有者である Marc Gravell によって作成された、Google の protobuf の .net 実装です。protobuf-net は次のカスタム クラスのみをサポートするため、オブジェクトにアクセスする必要があることに注意してください。

  • データ契約としてマークされています
  • パラメータなしのコンストラクタを持つ
  • Silverlight の場合: パブリックです

それがうまくいかない場合は、独自のソリューションを作成するか、スコープに応じてeloqueraなどのオブジェクト データベースを使用することができます。

于 2012-05-29T16:29:00.287 に答える
1

このXmlSerializerクラスでは、オブジェクトをシリアル化可能としてマークする必要はありませんが、パブリック フィールドとプロパティのみを保存します。プライベート メンバーをシリアライズする必要がある場合は、独自のシリアライザーを作成しないとうまくいきません。

于 2012-05-29T15:44:17.447 に答える