本文介绍了如何获取 COM 对象的类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
我在 Visual Studio 中引用了一个 COM 库,因此它已自动为我创建了相应的 Interop 程序集.我想对这些 com 对象执行 GetType()
,但它们总是返回 System.__ComObject
.不过,查询它们的接口是可行的:
bool isOfType = someComeObject is ISomeComObject;//这有效
但我真正想要的是返回 com 对象的实际类型:
Type type = someComeObject.GetType();//返回 System.__ComObject :-(
有人知道我想做的事怎么做吗?
解决方案
添加对 Microsoft.VisualBasic.dll 的引用
然后:
Microsoft.VisualBasic.Information.TypeName(someCOMObject)
MSDN 参考这里.p>
I am referencing a COM library in Visual Studio, so it has automatically created the corresponding Interop assembly for me. I would like to do a GetType()
on these com objects, but they always return System.__ComObject
. Querying them for an interface works though:
bool isOfType = someComeObject is ISomeComObject; //this works
But what I really want is this to return the actual type of the com object:
Type type = someComeObject.GetType(); //returns System.__ComObject :-(
Does anyone know how to do what I want to do?
解决方案
Add reference to Microsoft.VisualBasic.dll
and then:
Microsoft.VisualBasic.Information.TypeName(someCOMObject)
MSDN reference here.
这篇关于如何获取 COM 对象的类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!