Получить динамические члены и SetValue из Interop Object - PullRequest
2 голосов
/ 01 февраля 2012

У меня есть этот Interop Object, который появляется как System .__ ComObject, и я хочу установить значения, используя имя переменной:

SetValue(fieldname) = fieldvalue;

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

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

http://www.mezzodev.com/qintegrator/download/debug1.png

http://www.mezzodev.com/qintegrator/download/debug2.png

1 Ответ

2 голосов
/ 03 февраля 2012

Используя Импровизированный интерфейс Я смог собрать динамические элементы с помощью:

var memberNames = Impromptu.GetMemberNames(customerAdd, dynamicOnly:true); 

Тогда я могу установить, используя имя переменной с:

string optField = "Phone";
string optValue = "818-555-1212";
Impromptu.InvokeGet(customerAdd,  optField).SetValue(optValue);

Большое "Спасибо!" разработчику импровизированного интерфейса за ответ на этот вопрос для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...