如何获取COM对象的类型?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (11)

我在Visual Studio中引用了一个COM库,所以它为我自动创建了相应的Interop程序集。我想GetType()对这些com对象做一个,但他们总是返回System.__ComObject。查询他们的界面工作:

bool isOfType = someComeObject is ISomeComObject; //this works

但我真正想要的是返回com对象的实际类型:

Type type = someComeObject.GetType(); //returns System.__ComObject :-(

有谁知道如何去写我想做的事?

提问于
用户回答回答于

添加引用Microsoft.VisualBasic.dll然后:

Microsoft.VisualBasic.Information.TypeName(someCOMObject)

用户回答回答于

你基本上已经想通了。COM对象上的GetType()会给你System .__ ComObject,并且你必须尝试将它转换成别的东西来看看对象是什么。

扫码关注云+社区