Я использую пространство имен Microsoft.Office.Interop.Excel
и создаю диаграмму. В определенный момент я хочу получить значения определенного ряда. На MSDN он говорит, что объект Series
имеет свойство Values
. Это возвращает либо Range
объект, либо array of values
, я предполагаю object[]
. В моем коде у меня есть следующее утверждение:
Series series = (Series)chart.SeriesCollection(i);
object[] values = (object[])series.Values;
Я получаю InvalidCastException
с сообщением: Unable to cast object of type 'System.Object[*]' to type 'System.Object[]'.
Когда я отлаживаю с помощью Visual Studio 2008, я могу проверить тип series.Values
, и он говорит object{object[1..7]}
. Это означает (как я понимаю), что он объявлен как object
, но его фактический тип - object[1..7]
. Но object[1..7]
- это не тот тип, к которому я могу привести, и ни один не object[*]
.
Я подозреваю (или предполагаю), что это может быть связано с тем, что массив начинается с 1 вместо 0 (вероятно, из-за VB). Я даже не знал, что вы можете определить массив на основе 1 в C # ...