10

DataContractSerializerクラスとメンバーをDataContract およびDataMember属性でマークする必要があります。ただし、私の場合、クラスは EFPocoAdapter フレームワークで自動生成され、これらの属性は存在しません。

これらの属性が存在しない状態で、DataContractSerializer を使用してすべてのメンバーのシリアル化を強制するにはどうすればよいですか?

アレクデジ より:

これは 3.5SP1 で変更されました

4

3 に答える 3

0

[Serializable] 属性でクラスをマークするだけです。シリアライズしたくないメンバーは [NonSerialized] でマークします。[Serializable] では、デフォルトですべてのフィールドがシリアル化されることに注意してください。[DataContract] では、[DataMember] でマークされたフィールドを除いて、デフォルトでシリアル化されたフィールドはありません。

于 2009-11-24T21:43:20.660 に答える
0

それは可能だと思います。ISerializable インターフェイスを実装すると、シリアライザは属性ではなく実装を使用します。クラス [Serializable] をマークする必要があると思いますが。

属性を追加するよりも少し手間がかかりますが、機能します。

于 2009-04-30T19:10:15.380 に答える