从Interop对象获取动态成员和SetValue



我有一个作为系统出现的Interop对象__ComObject和我想使用一个变量名设置值:

SetValue(fieldname) = fieldvalue;

我还需要检查动态成员,看看有什么可用的。有些成员(以Ref结尾的成员)有子成员,所以我也需要深入到它们。

在调试中,动态成员如下所示。(对不起,我不能张贴图片)

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

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

使用Impromptu接口,我能够收集动态成员:

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

然后我可以使用变量成员名称设置:

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

感谢Impromptu接口的开发人员为我回答了这个问题。

相关内容

  • 没有找到相关文章

最新更新