Skip to content

Instantly share code, notes, and snippets.

View steveharter's full-sized avatar

Steve Harter steveharter

  • Microsoft
  • Fargo, ND USA
View GitHub Profile
@steveharter
steveharter / JsonExtensibilityV6.md
Last active February 1, 2021 18:58
JSON extensibility improvements

Main issue:More extensible object and collection converters

One common aspect is being able to change serialization options on a per-type basis, but without per-type converters or custom attributes. This would be implemented as a virtual method that can be overridden to expose or create the "metadata" classes including JsonClassInfo and JsonPropertyInfo.

This could be achieved by making JsonSerializerOptions non-sealed and adding virtual methods like:

protected JsonClassInfo GetJsonClassInfo(Type type);

However, with the planned work on code-gen and the JsonContext class similar behavior is already there in the form of:

@steveharter
steveharter / V6Planning.md
Last active January 15, 2021 20:34
V6 planning

Steve Harter Jan 15, 2021

V6 Reflection work. Three user stories:

@steveharter
steveharter / ReflectionV6.md
Last active January 11, 2022 17:59
Reflection features for V6

March 25th, 2021

Steve Harter

Update (January 11th, 2022)

This document is a point-in-time status update for reflection work that was being prototyped in V6 but didn't make it in mainly due to lack of support for __makeref(ref struct) and the ability to have a collection of TypeReferences.

Please refer to the User Story for the current status of this feature.

Scenarios

Reflection improvements for V6:

@steveharter
steveharter / TempCodeShare
Created August 14, 2020 20:20
TempCodeShare for converter perf
//#define NEW_APIS
// writer custom auto
// 4 5 12 release
// 22 release
// Master
// 8 13 27
// 8 40
// 22 27
// 48