1

我有以下代码:

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

可以在没有动态的情况下做到这一点。Marc Gravell的解决方案。但是,如果可以使用动态来完成它,那就很有趣了。

4

1 回答 1

1

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

var wrapped = ObjectAccessor.Create(obj); 
var result = wrapped[somePropertyName];
于 2012-09-03T16:08:56.627 回答