(反)序列化对象的 属性 而不获取对象的其余部分

(de)serialize an property of an object without getting the rest of the object

我正在尝试围绕现有 class 编写一个半透明包装器,我希望它能够模仿另一个 class 的序列化。

例如,给定以下 class:

class Foo
{
    [JsonConverter(CustomConverter)]
    string Foo;
}

我希望我的对象的自定义序列化程序使用 Foo 指定的 CustomConverter 序列化它自己的 Foo 属性。我还需要它来处理其他事情,例如 JSON.Net 指定和使用的 ObjectCreationHandling

有没有办法基本上告诉 JsonSerializer "deserialize to this type, but as if it was a this property on this object",还是我必须手动查找属性并相应地进行设置?

答案似乎是创造性地使用 IContractResolver。如果其他人好奇,我可以在完成后尝试 post 我的完整解决方案。