Получить значение свойства из списка вложенных объектов - PullRequest
0 голосов
/ 09 марта 2020

Я не уверен, как даже озаглавить или задать этот вопрос, поэтому извиняюсь за любую путаницу.

Мне нужно получить значение Id из первого списка в Model.Content.GetPropertyValue ("SlidePanel «). Я пробовал много-много-много вещей с моими проблемами, которые обычно заключались в том, что «Вы не можете сделать это, потому что это Объект». На изображении ниже я хочу получить значение Id «1092» в виде строки.

----- EDIT --- ----

Мне удалось получить значение с кодом ниже. Прибросил список, взял первый список, так как он всегда будет таким вариантом (я обернул его в if, но удалил его в этом примере), затем я смог указать нужное мне свойство и преобразовать при необходимости.

Если мне кажется, что я не говорю на этом языке свободно, то это потому, что я все еще свободен в развитии. Спасибо всем, кто помог.

 dynamic slidePanelObject = Model.Content.GetProperty("SlidePanel").Value;
 List<object> slidePanelCast = ((IEnumerable<object>)slidePanelObject).Cast<object>().ToList();
 dynamic slidePanelFirst = slidePanelCast.First();
 var slidePanelId = slidePanelFirst.Id;
 string slidePanelString = slidePanelId.ToString();

1 Ответ

2 голосов
/ 09 марта 2020

Model.Content.GetPropertyValue, вероятно, возвращает System.Object, поэтому вам нужно привести ваш temp тип к типу List<T>, прежде чем вы сможете получить к нему доступ в виде списка.

Не зная всех задействованных типов, вот код, который вы можете изменить:

var temp = Model.Content.GetPropertyValue("SlidePanel") as List<TYourType>;
...