在使用Com Interop的时候(像VS Macro和VSTO)的时候,一个函数的返回值往往在Debugger中显示为System.__ComObject。
这个时候就可以使用Microsoft.VisualBasic.Information.TypeName(object VarName)来查询其实际的类型,这个函数内部调用了IDisPatch的 GetTypeInfo函数和ITypeInfo.GetDocumentation函数,因为大部分的COM对象一般都实现了IDisPatch接口(尤其是Office Automation对象),那么这个函数将会相当有用。
当你知道了它的实际实现类型之后就会相当有帮助,并且可以转换为相应的实际类型。
这个时候就可以使用Microsoft.VisualBasic.Information.TypeName(object VarName)来查询其实际的类型,这个函数内部调用了IDisPatch的 GetTypeInfo函数和ITypeInfo.GetDocumentation函数,因为大部分的COM对象一般都实现了IDisPatch接口(尤其是Office Automation对象),那么这个函数将会相当有用。
当你知道了它的实际实现类型之后就会相当有帮助,并且可以转换为相应的实际类型。

本文介绍了一种在使用ComInterop时查询COM对象实际类型的技巧。通过Microsoft.VisualBasic.Information.TypeName函数,开发者可以获取到如VSMacro和VSTO等COM对象的实际类型,这对于后续的操作非常有用。
212

被折叠的 条评论
为什么被折叠?



