使用 System.Dynamic 内省 COM 对象
如何使用 IDynamicMetaObjectProvider 内省 COM 对象?具体来说,给定一个任意 COM 对象,我想返回一个字典,其中 Key 是属性名称,Value 是 COM 对象中属性的字符串值(如果属性值不是字符串,则跳过它) 。
如何在运行时获取属性名称及其值?
How can I use IDynamicMetaObjectProvider to introspect COM objects? Specifically, given an arbitrary COM object, I want to return a Dictionary where the Key is the Property name, and the Value is the string value of the property in the COM object (if the property value isn't a string, skip it).
How can I get the property names and their values at runtime like this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你真的不能;对象不需要实现 IDynamicMetaObjectProvider 来提供动态功能,它是一个允许它们在绑定过程中做出贡献的钩子。
对于这种类型的操作,您仍然需要使用反射来获取成员和值。
You can't really; objects are not required to implement IDynamicMetaObjectProvider in order to provide dynamic functionality, it's a hook that allows them to contribute in the binding process.
For this kind of operation, you would still have to drop down to using Reflection to get the members and the values.