2

属性XmlSerializerを使用して内部クラス メンバーをシリアル化することは可能ですか?InternalsVisibleTo

そうである場合、どのアセンブリに内部を表示させる必要がありますか。つまり、どのアセンブリ名と公開キーをInternalsVisibleTo属性に提供する必要があるかということです。

4

2 に答える 2

2

これはよくある質問です。次の投稿を参照してください。

プロパティの内部セッターをシリアル化できますか?

を使用DataContractSerializerすると、必要なメンバーをシリアル化できます。これはシリアル化のオプトイン メソッドであるため、必要に応じてクラスに注釈を付ける必要があります。

編集

あなたの質問を読み直した後、DataContractSerializerうまくいくかもしれませんが、それはあなたがやりたいことではないかもしれません. XMLSerializer はInternalsVisibleToこれらのメンバーを表示できるため、動作しますDataContractSerializerが、(私の意見では) より優れたシリアライザーをそのまま参照することをお勧めします。

于 2009-01-22T20:18:45.617 に答える
0

これらのコメントから、jrista の意見は正確ではないようです。XmlSerializer クラスは動的に生成されるため、「InternalsVisibleTo」に追加するクラスの名前を前もって知ることはできません。他の質問で説明されているように、これらのシリアライザーをプリコンパイルしない限り。

于 2011-11-25T14:54:50.657 に答える