4

で説明したように、C# のフィールドの順序は重要ですか? 、シリアライズ可能なプロパティの順序は、特に XmlSerializer の出力に影響します。

しかし、フィールドが (部分クラスを使用して) 2 つのファイルにある場合、結果の順序を実際に制御しているものを知っている人はいますか? つまり、どのファイルのプロパティが最初に来ますか?

(背景: 2 つのファイルの 1 つが xsd から自動生成され、もう 1 つが手動で編集されるシナリオに遭遇したため、これを尋ねます。テスト出力は、開発者ボックスとスクリプト化されたビルド ボックスで異なります。おそらくこれは、2 つの環境での xsd->C# ステップのタイミングと履歴のいくつかの違いの副作用です. 修正方法はさまざまですが、可能であればコンパイル プロセスをもう少しよく理解したいと思います.)

4

3 に答える 3

2

C# 仕様ごとに保証されるものはありません。

于 2009-03-26T20:24:30.953 に答える
2

[Serializable] とマークしてオブジェクトを作成する「簡単な」アプローチを使用することは、通常、非常に単純な実装にのみ十分であることがわかりました。

非常に簡単に実行でき、必要なすべての制御を提供する IXmlSerializable インターフェイスを実装することをお勧めします。

于 2009-04-21T19:39:55.880 に答える