2

如果这个问题已经得到解释,我深表歉意,但我已经搜索并没有找到我可以理解的答案。多年来,我一直在使用 VB.Net 来自动化 CATIA,方法是添加它们的库并调用公开的方法、属性等。我向 C#.Net 编写了一些基本代码,但很失望地发现对象没有在相同的环境中公开就像在 VB 中一样。我的意思是当在调试器或监视窗口中检查对象时,属性不会显示在 C# 中,但它们会显示在 VB 中。这使我几乎不可能在 C# 中调试 CATIA 自动化,这似乎不正确。一定是缺少了什么。我已将 COM 库添加到项目中,并将它们正确包含在标头中。智能感知正在工作,CATIA 对象的基本方法在监视/调试中可见,但并非所有方法和属性都是可见的,我无法通过在调试中手动键入 object.get_Name() 或类似内容来询问它们窗户。我附上了相同代码的两个监视窗口结果的图像。第一个来自 VB.Net,您可以看到有多少可用信息。第二个来自 C#.Net,您可以看到可用的信息非常少。如何在 C# 调试器中访问与我在用于 COM 互操作程序集的 VB 调试器中看到的相同级别的信息?我注意到的一件事可能是一个线索,那就是在 VB 中,有许多对象属性在 C# 中以 get_ 方法的形式出现。例如,VB 中的属性 Document.Name 在 C# 中被发现为 Document.get_Name()。

好的,所以网站不允许我发布图片,因为我“需要至少 10 个声望点”。希望有足够的问题描述继续下去。

4

0 回答 0