我正在使用 C#
构建一个应用程序,该应用程序将使用 CATIA COM 模块。当我在 C#
项目中导入 COM 时,我认为 Visual C# Express
会自动为我生成 Interop。
所有这些都可以正常工作。但是,当我尝试调试应用程序并在运行时使用监视时,每个对象都是 System.__ComObject,并且我无法获取它们的“真实”值。
有没有办法告诉调试器我的 COM
对象的类型?
目标是更熟悉这个我不太了解的新 API。有时很难猜测所有内容的正确类型,因为接口(interface)层次结构非常深。
最佳答案
您不会发布出现问题的代码示例。主要取决于您希望在调试器中看到的如何创建或转换对象(如果可以的话,使用new
创建对象的实例总是更好类(class))。您应该搜索有关运行时可调用包装器 (RCW) 的信息。这是一个无法理解你想要什么的“家伙”。
顺便说一下,如果您可以使用 Visual Studio 2010,您的生活会更轻松(请参阅 Link)。
如果您使用的话,两个链接可以帮助您解决问题
http://dotnetdebug.net/category/com-interop/
http://resources.esri.com/help/9.3/arcgisengine/dotnet/e6532ba4-d769-48a6-8bc4-8592352b9bf4.htm
Inspecting an instance of a COM / Interop class properly in VS.Net's debugger?
http://dotnetdebug.net/2005/09/10/runtime-callable-wrapper-internals-and-common-pitfalls/
关于c# - 如何使用COM接口(interface)调试应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3026540/