dotnet/runtime

Support using any dictionary as JsonExtensionData

Open

#31.645 aberto em 3 de fev. de 2020

Ver no GitHub
 (23 comments) (8 reactions) (1 assignee)C# (5.445 forks)batch import
area-System.Text.Jsonenhancementhelp wantedwishlist

Métricas do repositório

Stars
 (17.886 stars)
Métricas de merge de PR
 (Mesclagem média 12d 11h) (661 fundiu PRs em 30d)

Description

IMHO, IReadOnlyDictionary should work identical to IDictionary when using with JsonExtensionData attribute.

[JsonExtensionData]
public IReadOnlyDictionary<string, JsonElement> Payload { get; set; }

Currently it fails with error:

System.InvalidOperationException: The data extension property 'Payload' does not match the required signature of IDictionary<string, JsonElement> or IDictionary<string, object>.

This is analogous to collection properties which can be defined as List<T>, IList<T> or IReadOnlyList<T> etc.

Guia do colaborador