我有用Visual Fox Pro 9.0编写的COM对象。它具有以下过程:InvalidCastException对象[*]对象[]
PROCEDURE GetArray(m.vcArrayName as String) as array
RETURN @&vcArrayName
COM对象在使用C#的VS2010项目中引用。在C#程序的签名是:
object GetArray(string vcArrayName);
当调试我可以看到,所返回的值是{对象[1..1]},而类型为对象{对象[]}。展开变量,我可以看到它是一个基数为1的数组,其中一个元素是一个空字符串(“”);
但是,我不能将此值转换为object []。我总是会收到一个InvalidCastException异常,说挪威语的消息说我不能将Object [*]转换成Object []。
奇怪的是,如果COM对象返回一个二维数组,我没有问题将它转换为object [,]。我觉得很奇怪,两个维度比一个维度更容易处理!
我想回答的问题是:
这是什么对象是[*]的公司吗?任何人都可以告诉我,如果这是挪威的异常消息中的错误翻译,或者Object [*]是某种我从未听说过的模糊的C#语法?