C#Reflection - COM对象

时间:2013-11-01 16:18:09

标签: c# reflection com

如果我有一个COM对象(使用Activator.CreateInstance实例化)将其他对象公开为属性,例如

Object1.Object2.Object3

如果我只使用反射的Object1实例,我如何获得Object3?

1 个答案:

答案 0 :(得分:3)

  

如果我只使用反射的Object1实例,我如何获得Object3?

那是不可能的。您需要先通过反射获取Object2实例,然后才能访问Object3。如果你有一些其他对象持有对Object3的引用,那么这可能是可能的。

顺便说一句,如果您使用的是.NET 4.0或更高版本,您可能会发现dynamic关键字在处理COM对象和反射时可能会省去很多麻烦。请在此处查看:http://msdn.microsoft.com/en-us/library/vstudio/dd264736.aspx