Я пытаюсь написать собственный распознаватель контрактов, который расширяет DefaultContractResolver в Newtonsoft.Json.Serialization, с целью преобразования всех свойств в ExpandoObject с именами свойств PascalCase.Расширение DefaultContractResolver для преобразования дополнительных свойств ExpandoObject в PascalCase
Мой контракт:
public class Fruit
{
public int Id { get; set; }
public ExpandoObject FruitProperties { get; set; }
}
Я передаю в следующих данных:
{
"Id": "1234",
"FruitProperties" : {
"colour": "red",
"Taste": "sweet
}
}
}
В результате я ожидаю следующий:
{
"Id": "1234",
"FruitProperties" : {
"Colour": "red",
"Taste": "sweet"
}
}
Я попытался переопределяем ResolvePropertyName , и методы CreateProperty в DefaultContractResolver без везения. Все они пропускают вспомогательные свойства внутри объекта expando. Кто-нибудь знает, какой метод в DefaultContractResolver мне нужно переопределить, чтобы преобразовать имена свойств sub в Expando в PascalCase?