<PackageReference Include="System.Text.Json" Version="5.0.0-preview.2.20160.6" />

KeyValuePairConverterFactory

using System.Collections.Generic; using System.Reflection; using System.Runtime.CompilerServices; namespace System.Text.Json.Serialization.Converters { internal sealed class KeyValuePairConverterFactory : JsonConverterFactory { public override bool CanConvert(Type typeToConvert) { if (!typeToConvert.IsGenericType) return false; Type genericTypeDefinition = typeToConvert.GetGenericTypeDefinition(); return genericTypeDefinition == typeof(KeyValuePair<, >); } [PreserveDependency(".ctor()", "System.Text.Json.Serialization.Converters.KeyValuePairConverter`2")] public override JsonConverter CreateConverter(Type type, JsonSerializerOptions options) { Type type2 = type.GetGenericArguments()[0]; Type type3 = type.GetGenericArguments()[1]; return (JsonConverter)Activator.CreateInstance(typeof(KeyValuePairConverter<, >).MakeGenericType(type2, type3), BindingFlags.Instance | BindingFlags.Public, null, null, null); } } }