• <tfoot id='Hs2Te'></tfoot>
  • <small id='Hs2Te'></small><noframes id='Hs2Te'>

    <i id='Hs2Te'><tr id='Hs2Te'><dt id='Hs2Te'><q id='Hs2Te'><span id='Hs2Te'><b id='Hs2Te'><form id='Hs2Te'><ins id='Hs2Te'></ins><ul id='Hs2Te'></ul><sub id='Hs2Te'></sub></form><legend id='Hs2Te'></legend><bdo id='Hs2Te'><pre id='Hs2Te'><center id='Hs2Te'></center></pre></bdo></b><th id='Hs2Te'></th></span></q></dt></tr></i><div id='Hs2Te'><tfoot id='Hs2Te'></tfoot><dl id='Hs2Te'><fieldset id='Hs2Te'></fieldset></dl></div>

      1. <legend id='Hs2Te'><style id='Hs2Te'><dir id='Hs2Te'><q id='Hs2Te'></q></dir></style></legend>
          <bdo id='Hs2Te'></bdo><ul id='Hs2Te'></ul>

        如何获取 COM 对象的类型

        时间:2023-07-25

        <small id='BOFcd'></small><noframes id='BOFcd'>

          <tbody id='BOFcd'></tbody>
          <bdo id='BOFcd'></bdo><ul id='BOFcd'></ul>
          <legend id='BOFcd'><style id='BOFcd'><dir id='BOFcd'><q id='BOFcd'></q></dir></style></legend>

              <i id='BOFcd'><tr id='BOFcd'><dt id='BOFcd'><q id='BOFcd'><span id='BOFcd'><b id='BOFcd'><form id='BOFcd'><ins id='BOFcd'></ins><ul id='BOFcd'></ul><sub id='BOFcd'></sub></form><legend id='BOFcd'></legend><bdo id='BOFcd'><pre id='BOFcd'><center id='BOFcd'></center></pre></bdo></b><th id='BOFcd'></th></span></q></dt></tr></i><div id='BOFcd'><tfoot id='BOFcd'></tfoot><dl id='BOFcd'><fieldset id='BOFcd'></fieldset></dl></div>
              • <tfoot id='BOFcd'></tfoot>
                  本文介绍了如何获取 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 对象的类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:为 COM DLL 创建 .NET 包装器的工具? 下一篇:为什么使用 FinalReleaseComObject 而不是 ReleaseComObject?

                  相关文章

                • <tfoot id='fG9bE'></tfoot>
                • <i id='fG9bE'><tr id='fG9bE'><dt id='fG9bE'><q id='fG9bE'><span id='fG9bE'><b id='fG9bE'><form id='fG9bE'><ins id='fG9bE'></ins><ul id='fG9bE'></ul><sub id='fG9bE'></sub></form><legend id='fG9bE'></legend><bdo id='fG9bE'><pre id='fG9bE'><center id='fG9bE'></center></pre></bdo></b><th id='fG9bE'></th></span></q></dt></tr></i><div id='fG9bE'><tfoot id='fG9bE'></tfoot><dl id='fG9bE'><fieldset id='fG9bE'></fieldset></dl></div>
                  <legend id='fG9bE'><style id='fG9bE'><dir id='fG9bE'><q id='fG9bE'></q></dir></style></legend>
                • <small id='fG9bE'></small><noframes id='fG9bE'>

                      <bdo id='fG9bE'></bdo><ul id='fG9bE'></ul>