私は任意の.NETオブジェクトを持っています(つまり、それは[DataContract]
が適用されていることを保証できます)、すべての文字列プロパティに対して特別な処理を行うツリー(XMLなど)に変換します。これは典型的なシリアル化タスクのように見えますが、.NETシリアライザのどれもプロパティコンテンツの処理を制御できません(DataContractSerializer
/XmlSerializer
を使用しようとしましたが、XmlObjectSerializerWriteContext
はデザイナーのおかげです)。ツリーを逆シリアル化する必要はありません。視覚的表現のためだけです。オブジェクトグラフをツリーに変換する
リフレクションを使用した手動のシリアライゼーション以外のオプションはありますか(コレクションを処理するにはあまりにも多くの作業に似ています、グラフのサイクルなど)?
更新:リフレクションに依存するカスタム再帰関数で終了しました。
XML出力のプロパティの種類はどのように知っていますか? NetDataContractSerializerを使用すると、プリミティブの型情報が格納されますか? – UserControl
[DataContract]を使用する場合は、いいえ:([Serializable]を使用している場合は、yes) – Jeff
他の提案を参照してください。 – Jeff