C#COM vaiable在当前上下文中不存在

时间:2013-10-02 17:23:30

标签: c# c++ dynamic com

我在C#中有一个COM对象:

Class myClass = new Class;
IPClass myPointer = null;
myPointer = (IPClass) myClass.GetMyPointer();
bool myBool = myPointer.DoSomething();
C#中的myClass.GetMyPointer()返回一个动态类型。在定义COM对象的原始代码中,myClass.GetMyPointer返回指向C ++中接口IPClass的指针。

当我测试我的C#dll时,我无法获得myBool。 VS总是说myBool在当前上下文中不存在。但DoSomething总是被执行。我只是无法获得返回值。我试图暂时停止从C#垃圾收集,它没有任何区别。

有人有什么建议吗?

1 个答案:

答案 0 :(得分:0)

试试这个并查看它返回的内容:

System.Diagnostics.Debug.WriteLine("calling DoSomething()");
System.Diagnostics.Debug.WriteLine((myPointer.DoSomething()).GetType().Name);
System.Diagnostics.Debug.WriteLine("finished call to DoSomething()");