リフレクションを使用して XMLSerializer がどのように機能し、XML のシリアル化または逆シリアル化に使用する必要があるパブリック読み取り/書き込みフィールドまたはプロパティを把握するかを理解しています。ただし、XMLSerializer では、フィールドが public で読み取り/書き込み可能である必要があります。
ただし、DataContractSerializer は、クラス内の完全にプライベートなフィールドに対して読み取りまたは書き込みを行うことができます。したがって、DataContractSerializer にクラスへの追加のアクセス権を明示的に付与しなくても、これがどのように可能になるのか疑問に思っています。