我有用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#語法?