We currently have 2 dynamic formatter implementations: one based on Ref.Emit and one based on DynamicMethod.
IIRC the DynamicMethod implementation is there to support accessing non-public members, because mono didn't support the skip visibility check magic attribute.
But now that all runtimes we support are based on .NET or .NET Framework (@neuecc can you confirm), we should be able to switch to that and drop our DynamicMethod support, which can help simplify our library.
We might also consolidate DynamicObjectResolverAllowPrivate and DynamicObjectResolver. We probably shouldn't remove either of these types to avoid an API breaking change, but we can make one essentially a wrapper around the other.
We currently have 2 dynamic formatter implementations: one based on Ref.Emit and one based on DynamicMethod.
IIRC the DynamicMethod implementation is there to support accessing non-public members, because mono didn't support the skip visibility check magic attribute.
But now that all runtimes we support are based on .NET or .NET Framework (@neuecc can you confirm), we should be able to switch to that and drop our DynamicMethod support, which can help simplify our library.
We might also consolidate
DynamicObjectResolverAllowPrivateandDynamicObjectResolver. We probably shouldn't remove either of these types to avoid an API breaking change, but we can make one essentially a wrapper around the other.