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

发布于 2025-01-01 10:18:56 字数 514 浏览 1 评论 0原文

我有一个作为 System.__ComObject 出现的互操作对象,我想使用变量名称设置值:

SetValue(fieldname) = fieldvalue;

我还需要检查动态成员以查看可用的内容。一些成员(以 Ref 结尾的成员)有子成员,因此我也需要深入了解他们。

在调试中,动态成员如下所示。 (抱歉,我无法发布图像)

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

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

I have this Interop Object that comes up as a System.__ComObject and I want to set values using a variable name:

SetValue(fieldname) = fieldvalue;

I also need to inspect the dynamic members to see what’s available. Some members (the ones ending in Ref) have sub-members so I need to drill-down to them as well.

In debug, the dynamic members come up as follows. (sorry,i can't post the images)

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

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

つ可否回来 2025-01-08 10:18:56

使用即席界面,我可以通过以下方式收集动态成员:

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

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

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

一个大大的“谢谢!” Impromptu Interface 的开发者为我解答了这个问题。

Using the Impromptu Interface I was able gather the dynamic members with:

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

Then I can set using a variable member name with:

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

A big "Thank You!" to the developer of the Impromptu Interface for answering this for me.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文