JSON.NET による JSON 逆シリアル化中のインターフェイス プロパティの処理
インターフェイス プロパティに遭遇すると、JSON.NET の逆シリアル化プロセスで問題が発生する可能性があります。 JSON.NET はインターフェイスを直接インスタンス化できないため、インターフェイス プロパティを含むオブジェクトを直接逆シリアル化するとエラーが発生します。
解決策: シームレスな逆シリアル化のためのコンストラクター インジェクション
シンプルで効果的な解決策は、コンストラクター インジェクションを活用することです。 インターフェイスを実装するクラス内に具象クラスのインスタンスをコンストラクター パラメーターとして組み込むことにより、JSON.NET は逆シリアル化中に適切な具象クラスを正しく識別して利用できます。
例:
インターフェイス プロパティを備えたクラスを調べてみましょう:
<code class="language-csharp">public class Visit : IVisit { public Visit(MyLocation location, Guest guest) { Location = location; Guest = guest; } public long VisitId { get; set; } public ILocation Location { get; set; } public DateTime VisitDate { get; set; } public IGuest Guest { get; set; } }</code>
このコンストラクターベースのアプローチにより、JSON.NET は JSON データを必要な具象クラスに正確に逆シリアル化できるため、インターフェイス プロパティの問題が解決されます。
以上がJSON.NET のインターフェイス プロパティをエラーなく逆シリアル化するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。