【问题标题】:how to get/set value from Com interop object using dynamic by property name string如何使用属性名称字符串动态从 Com 互操作对象中获取/设置值
【发布时间】:2012-08-26 06:23:28
【问题描述】:

我有以下代码:

Type type = Type.GetTypeFromProgID("interopTypeName");
dynamic obj = Activator.CreateInstance(type);
string propertyName = "somePropertyName";
// how to get somePropertyName from obj?

没有动态是可以做到的。 HereMarc Gravell 的解决方法。 然而,如果可以使用动态来做到这一点,那就很有趣了。

【问题讨论】:

  • System.Dynamic 不能替代反射。

标签: c# .net dynamic interop


【解决方案1】:

Mark Gravell 有一个名为 FastMember 的开源项目,可以使用代码 api dynamic generates 轻松访问属性。

var wrapped = ObjectAccessor.Create(obj); 
var result = wrapped[somePropertyName];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    相关资源
    最近更新 更多