Re[4]: expandoobject получить значение переменной
От: Funny Rabbit Россия  
Дата: 11.06.22 04:24
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>Здравствуйте, Funny Rabbit, Вы писали:


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

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

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

interfaces: System.Collections.Generic.List`1[System.Object]

https://172.31.0.196/zabbix/api_jsonrpc.php 10423 APC 961X-172.20.225.67 APC 961X_5YR0#ЦОУ Ярославское ш. 135 п1. (172.20.225.67) System.Collections.Generic.List`1[System.Object] System.Collections.Generic.List`1[System.Object] System.Collections.Generic.List`1[System.Object]

-------------

https://172.31.0.196/zabbix/api_jsonrpc.php hostid host name triggers inventory interfaces

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


S>Я же правильно понял, что вы свой ExpandoObject передаёте в SaveHostToDataRow?

S>Тогда пишите вот так:
S>
S>private DataRow SaveHostToDataRow(dynamic dict, DataTable dt)
S>{
S>  string ip = dict.interfaces[0].ip;
S>}
S>

1>C:\Users\polya\Desktop\AS\AbonentSearch\OSS\BLL\Internet\Commutators\ZabbixApi\Zabbix.cs(491,41,491,51): error CS1061: "IDictionary<string, object>" не содержит определения "interfaces", и не удалось найти доступный метод расширения "interfaces", принимающий тип "IDictionary<string, object>" в качестве первого аргумента (возможно, пропущена директива using или ссылка на сборку).
То что меня не убивает, делает меня умнее.
Отредактировано 11.06.2022 4:40 Funny Rabbit . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.