【发布时间】:2014-11-04 12:00:03
【问题描述】:
我正在做一个程序,我想做一个反射,但为此,我需要一个类型类的对象,对吧?使用 .GetProperties() 方法...所以我尝试了这个:
Type typeName = simObjects.getType();
但是 .GetType() 正在返回“System.__COMObject”。这没有帮助。 .typeof() 也是如此。我搜索并找到了另一个代码,这个:
Type typeName = (Type)Microsoft.VisualBasic.Information.TypeName(simObjects);
但是这个方法返回一个String,我在System.Type中需要它,有大神能帮帮我吗?
【问题讨论】:
-
COM 不支持反射。
-
@HansPassant 您可以使用 CustomMarshaler 将 COM ITypeInfo(在实现 IDispatch 的 COM 对象上可用)转换为 .NET 反射类型,如 this answer 和 this project 所示。
标签: c# reflection gettype comobject system.type