Информация об изменениях

Сообщение Re[3]: expandoobject получить значение переменной от 10.06.2022 13:39

Изменено 10.06.2022 13:54 Sinclair

Re[3]: expandoobject получить значение переменной
Здравствуйте, Funny Rabbit, Вы писали:

FR>Не удалось привести тип объекта "System.Dynamic.ExpandoObject" к типу "System.Collections.Generic.List`1[System.Object]".

private DataRow SaveHostToDataRow(IDictionary<string, object> dict, DataTable dt)
{
   dynamic inventory = dict["inventory"];
   string route = inventory.site_city;
}

Для начала невредно бы проверить, что у вас там лежит:
foreach (var property in (IDictionary<String, Object>)inventory)
{
    Console.WriteLine(property.Key + ": " + property.Value);
}

Как в данном случает получить значение? Вот это выполняется.

Я же правильно понял, что вы свой ExpandoObject передаёте в SaveHostToDataRow?
Тогда пишите вот так:
private DataRow SaveHostToDataRow(dynamic dict, DataTable dt)
{
  string ip = dict.interfaces[0].ip;
}
Re[3]: expandoobject получить значение переменной
Здравствуйте, Funny Rabbit, Вы писали:

FR>Не удалось привести тип объекта "System.Dynamic.ExpandoObject" к типу "System.Collections.Generic.List`1[System.Object]".

private DataRow SaveHostToDataRow(IDictionary<string, object> dict, DataTable dt)
{
   dynamic inventory = dict["inventory"];
   string route = inventory.site_city;
}

Для начала невредно бы проверить, что у вас там лежит:
foreach (var property in (IDictionary<String, Object>)inventory)
{
    Console.WriteLine(property.Key + ": " + property.Value);
}

FR>Как в данном случает получить значение? Вот это выполняется.

Я же правильно понял, что вы свой ExpandoObject передаёте в SaveHostToDataRow?
Тогда пишите вот так:
private DataRow SaveHostToDataRow(dynamic dict, DataTable dt)
{
  string ip = dict.interfaces[0].ip;
}