シリアル化と逆シリアル化を始めたばかりです。
Personタイプのモデルがあり、2つのプロパティ(NameとAge)しかないので、XMLにシリアル化できます。デシリアライズに関しては、私が知る限り、型がPersonであることをコンパイラーに伝えなければなりません。ジェネリックTの世界では、これは逆効果のようです。オブジェクトを「InMemoryOnly」オブジェクトとして確立できると思いました(想像できる場合)。オブジェクトは実行時に作成され、パラメーター/フィールド/プロパティなどもすべてXMLに基づいて作成されます。たぶん匿名タイプのようです。C#コンパイラは設計時にこれを無視する必要があり、インテリセンスが失われることを理解していますが、すべてのオブジェクトが何らかの方法でメモリに渡されるため、実行時に失敗する理由がわかりません。それとも、これはReflectionで可能でしょうか?
とにかく、それが私がやろうとしていることです。XMLから汎用オブジェクトに逆シリアル化します。これはC#で可能ですか?
編集ちょうど重複を見つけたので、今の質問はなぜC#(.NET)がこれを行うことができないのかということです。答えはおそらく「そうではないから」だと私は知っていますが、私の質問は、プログラマーにとって価値があるよりも可能であるか、それとももっと厄介である可能性があるかということです。
この理由は、私が知る限り、これを達成するには、シリアル化と逆シリアル化がタイプ(この場合はPerson)を認識している必要があることを意味します。したがって、シリアル化と逆シリアル化がWCFで発生する場合(シリアル化とシリアル化が異なるアセンブリで発生する場合)、Personオブジェクトを複製する必要があります(これはDRYの原則に反します)