0

我有一个用 C# 编写的主程序,它创建和使用用 C++ 编写的对象。

其中一个对象 MODULE 使用 Behavior 类 (C++),其中包含许多参数,由 C# main 管理的接口初始化。

其中一个参数是system::Collection::Generic <AnotherObject>,我们称之为LIST。行为对象初始化良好,LIST 包含正确的元素。

但是当我创建一个 MODULE 并调用它的方法 BuildModule(BEHAVIOR) 时,在调用的那一行,LIST 似乎已损坏。我在当地人那里得到了这个:

容量错误:类型异常:System::TypeLoadException^ 发生>
计数错误:类型异常:System::TypeLoadException^ 发生>
项目无法查看索引属性>
System.Collections.Generic.ICollection.IsReadOnly 错误:异常类型:System::TypeLoadException^ 发生>
System.Collections.ICollection.IsSynchronized 错误:发生类型异常:System::TypeLoadException^> System.Collections.ICollection.SyncRoot 错误:发生
类型异常:System::TypeLoadException^ >
System.Collections.IList.IsFixedSize 错误:发生类型异常:System::TypeLoadException^ >
System.Collections.IList.IsReadOnly 错误:发生类型异常:System::TypeLoadException^> System.Collections.IList.Item 无法查看索引属性>

这似乎没有加载,但我不知道 - 加载了其他对象,甚至更复杂的对象。

如果有人有线索,我将不胜感激。

4

1 回答 1

0

您正在显示调试器在尝试显示列表实例时遇到的异常。它不会帮助您或我们诊断问题,您需要查看代码生成的异常。如果这没有帮助,请发布您在异常消息和堆栈跟踪属性中看到的内容。InnerException 是最重要的,以防它不为空。

顺便说一句,这种事故通常是由堆损坏引起的。

于 2010-07-06T13:29:00.590 回答