У меня проблема; У меня есть различные (слишком много) классы, которые связаны как Parent / Child
Первоначально я заполняю свой верхний класс, в то время как создаю другие экземпляры следующим образом (работает):
TopClass MyClass = new TopClass()
{
Headers = new someHeaders()
{
CorrID = "1234567890",
RequestID = "1234567890",
L_Token = "abcdefghijklmnopqrstuvwxyz"
},
Body = new someBody()
{
access = new AccessHeaders()
{
allPs = "allAcc",
availableAcc = "all"
},
CombinedServiceIndicator = false,
FrequencyPerDay = 10,
ValidUntil = "2020-12-31"
},
ResponseAttributes = new ConsentResponse()
{
myId = String.Empty,
myStatus = String.Empty,
myName = String.Empty,
_links_self_href = String.Empty,
status_href = String.Empty
}
};
Инициалы значения, которые я заполняю выше, редко меняются, но свойства Классов меняются по мере продолжения проекта, и каждый класс имеет много свойств. Мне нужно проанализировать свойства и установить значения для любых свойств, которые соответствуют их имени, но я не могу понять, почему, несмотря на следующие официальные примеры. (Я читаю входные данные из строки JSON, которую я использую Newtonsoft - там все перепробовал)
Я не могу найти способ десериализации JSON и для назначения любого значения для моих свойств без с использованием имени свойства, т.е. без произнесения
MyClass.Body.access.allPs = "Hello"
, но что-то вроде
var json = response.Content.ReadAsStringAsync().Result.ToString();
var a = new { serverTime = "", data = new object[] { } };
var c = new JsonSerializer();
или
if (myresponse.Attributes.GetType().GetTypeInfo().GetDeclaredProperty(key) != null)
myresponse.GetType().GetTypeInfo().GetDeclaredProperty(key).SetValue(myresponse, entry.Value);
//and how do I read the value, parse my TopClass and assign the value to correct property?
Может ли кто-нибудь мне помочь?