Я использую взаимодействие с C # excel. Я вызываю макросы из C # и ожидаю массивы объектов. Я могу получить двумерные массивы объектов из макросов, которые возвращают двумерные массивы.
Однако, другой (сторонний) макрос должен возвращать одномерный массив. Я не могу заставить (object []) xlApp.Run (...)
работать (выдает исключение), а информация о типе в отладчике говорит, что результат имеет тип Object [*]
. Фактическое сообщение из исключения:
Unable to cast object of type 'System.Object[*]' to type 'System.Object[]'.
Что это за тип Object [*]
и как мне получить из него одномерный массив?
EDIT : Мне пришло в голову, что это может означать БЕЗОПАСНОСТЬ ВАРИАНТОВ. Но тогда возникают два вопроса: почему с двумерными массивами все в порядке? Как преобразовать SAFEARRAY в массив C #?