Что это за тип `Object [*]`, который я получаю с COM-взаимодействием?

Я использую взаимодействие с C # excel. Я вызываю макросы из C # и ожидаю массивы объектов. Я могу получить двумерные массивы объектов из макросов, которые возвращают двумерные массивы.

Однако, другой (сторонний) макрос должен возвращать одномерный массив. Я не могу заставить (object []) xlApp.Run (...) работать (выдает исключение), а информация о типе в отладчике говорит, что результат имеет тип Object [*] . Фактическое сообщение из исключения:

Unable to cast object of type 'System.Object[*]' to type 'System.Object[]'.

Что это за тип Object [*] и как мне получить из него одномерный массив?

EDIT : Мне пришло в голову, что это может означать БЕЗОПАСНОСТЬ ВАРИАНТОВ. Но тогда возникают два вопроса: почему с двумерными массивами все в порядке? Как преобразовать SAFEARRAY в массив C #?

10
задан Alexandre C. 27 December 2010 в 14:28
поделиться