私は自分の問題の解決策をかなり長い間探していて、うまくいくと思われるいくつかのアイデアを見てきましたが、すべてをまとめることができませんでした. 言及する価値があるのは、私が C# にまったく慣れていないことです。
JSONデータを逆シリアル化するために使用される一連のモデルクラスを定義するライブラリがあります。これらのモデルの 1 つApplication
は、プロパティを持つものです。public List<ApplicationField> Fields { get; set; }
と呼ぶ Application のサブクラスを作成することができましたMyApplication
。私は持っているので、それも拡張MyApplication
したいと思いますMyApplicationField
ApplicationField
私はいくつかのアプローチを試しましたが、成功する可能性が最も高いと思われるアプローチを以下に示します (残念ながら成功しませんでした)。
public class MyApplication : Application
{
new public List<MyApplicationField> Fields { get; set; }
}
次に、Json は次のコードによって逆シリアル化されます。
JsonConvert.DeserializeObject<MyApplication>
JSON プロパティの値が、サブクラスで定義したFields
型の Fields プロパティにマップされることを期待していました。ただし、基本クラスのプロパティに逆シリアル化されます (タイプは)List<MyApplicationField>
MyApplication
Fields
List<ApplicationField>
注:基本クラスを変更することはできません。
私が探している動作を達成することは可能ですか?