0

私は自分の問題の解決策をかなり長い間探していて、うまくいくと思われるいくつかのアイデアを見てきましたが、すべてをまとめることができませんでした. 言及する価値があるのは、私が C# にまったく慣れていないことです。

JSONデータを逆シリアル化するために使用される一連のモデルクラスを定義するライブラリがあります。これらのモデルの 1 つApplicationは、プロパティを持つものです。public List<ApplicationField> Fields { get; set; }

と呼ぶ Application のサブクラスを作成することができましたMyApplication。私は持っているので、それも拡張MyApplicationしたいと思いますMyApplicationFieldApplicationField

私はいくつかのアプローチを試しましたが、成功する可能性が最も高いと思われるアプローチを以下に示します (残念ながら成功しませんでした)。

public class MyApplication : Application
{
    new public List<MyApplicationField> Fields { get; set; }
}

次に、Json は次のコードによって逆シリアル化されます。

JsonConvert.DeserializeObject<MyApplication>

JSON プロパティの値が、サブクラスで定義したFields型の Fields プロパティにマップされることを期待していました。ただし、基本クラスのプロパティに逆シリアル化されます (タイプは)List<MyApplicationField>MyApplicationFieldsList<ApplicationField>

注:基本クラスを変更することはできません。

私が探している動作を達成することは可能ですか?

4

1 に答える 1