Вопрос
Есть ли способ создать собственную реализацию JsonSerializerSettings
, которая работает так, как если бы TypeNameHandling = TypeNameHandling.Interfaces
?
Очевидно, что Objects
, Arrays
, All
, None
и Auto
являются поддерживаемыми значениями здесь.
Единственный способ, которым я могу думать о достижении этого результата, может быть через пользовательский ISerializationBinder ?
Пример
public class Foo
{
public IBar Bar { get; set; } = new Qux { Id = 1 };
public Baz Baz { get; set; } = new Baz { Message= "Hi" };
}
десериализуется во что-то вроде
{
"Bar":{
"$type":"Qux",
"Id":1
},
"Baz":{
"Message":"Hi"
}
}