属性XmlSerializer
を使用して内部クラス メンバーをシリアル化することは可能ですか?InternalsVisibleTo
そうである場合、どのアセンブリに内部を表示させる必要がありますか。つまり、どのアセンブリ名と公開キーをInternalsVisibleTo
属性に提供する必要があるかということです。
属性XmlSerializer
を使用して内部クラス メンバーをシリアル化することは可能ですか?InternalsVisibleTo
そうである場合、どのアセンブリに内部を表示させる必要がありますか。つまり、どのアセンブリ名と公開キーをInternalsVisibleTo
属性に提供する必要があるかということです。
これはよくある質問です。次の投稿を参照してください。
を使用DataContractSerializer
すると、必要なメンバーをシリアル化できます。これはシリアル化のオプトイン メソッドであるため、必要に応じてクラスに注釈を付ける必要があります。
あなたの質問を読み直した後、DataContractSerializer
うまくいくかもしれませんが、それはあなたがやりたいことではないかもしれません. XMLSerializer はInternalsVisibleTo
これらのメンバーを表示できるため、動作しますDataContractSerializer
が、(私の意見では) より優れたシリアライザーをそのまま参照することをお勧めします。
これらのコメントから、jrista の意見は正確ではないようです。XmlSerializer クラスは動的に生成されるため、「InternalsVisibleTo」に追加するクラスの名前を前もって知ることはできません。他の質問で説明されているように、これらのシリアライザーをプリコンパイルしない限り。