public class A : JObject
{}
と私はfolowingているデシリアライズコードJson.netデシリアライズJOBJECT派生型に
using (StreamReader responseStreamReader = new StreamReader(stream))
{
using (JsonReader reader = new JsonTextReader(responseStreamReader))
{
JsonSerializer serializer = new JsonSerializer();
return serializer.Deserialize<A>(reader);
}
}
しかし、それは、デシリアライザはちょうど新しいAを作成する必要があり、実際には無効なキャスト例外
をスローします()新しいJObject()の代わりに、まったく同じことをすると、それだけで十分でしょう。
具体的なJObject型にどのように逆シリアル化できますか?
あなたが達成しようとしていますか?なぜあなたは 'JObject'を継承していますか?そして、なぜ 'JsonReader'が' A'型にキャスト可能であると期待していますか? – CodingYoshi
JObjectやJTokenを操作するコードがたくさんあるので、それを継承するとこのコードが直接有効になり、うまくいくでしょう。 いくつかの機能を追加したいと思います。私は拡張メソッドと合成を使うことができますが、継承するとすぐに私にすべてのものが与えられます。 –
JsonReaderはJObjectに直列化解除するので、JObjectであるAに逆シリアル化するのは問題ではありません –