0

プロパティはあるのに、C# で XML シリアライザーを介してフィールドがシリアル化されないのはなぜですか? プロパティが実際にはメソッドであることは知っていますが、それが違いを生む理由がわかりません。誰もこれに対する答えを知っていますか?

本当にありがとう!

4

2 に答える 2

7

フィールドはシリアライズ可能です:

XML シリアル化は、オブジェクトのパブリック フィールドとプロパティ、またはメソッドのパラメーターと戻り値を、特定の XML スキーマ定義言語 (XSD) ドキュメントに準拠する XML ストリームにシリアル化します。XML シリアル化により、XML に変換されるパブリック プロパティとフィールドを持つ厳密に型指定されたクラスが生成されます。System.Xml.Serialization には、XML のシリアル化と逆シリアル化に必要なクラスが含まれています。

MSDNから

于 2013-07-11T13:14:07.177 に答える
2

フィールドはシリアライズ可能です。実際、属性でマークしない限り、すべてのフィールドはデフォルトでシリアル化されNonSerializedます。

XML シリアライゼーションについて話す場合、XML シリアライゼーションはオブジェクトのパブリック インターフェイスのみをシリアライズするため、パブリック フィールドのみがシリアライズされます。

于 2013-07-11T13:17:40.020 に答える