Hago C# excel interoperabilidad. Llamo a macros desde C#, y espero arreglos de objetos. Puedo obtener matrices bidimensionales de objetos de las macros que devuelven matrices bidimensionales.¿Qué es este tipo `Object [*]` que obtengo con la interoperabilidad COM?
Sin embargo, se supone que otra macro (de terceros) devuelve una matriz unidimensional. No puedo obtener el (object[])xlApp.Run(...)
funcionando (arroja una excepción), y la información de tipo en el depurador dice que el resultado es del tipo Object[*]
. El mensaje real de la excepción es
Unable to cast object of type 'System.Object[*]' to type 'System.Object[]'.
¿Cuál es este tipo Object[*]
y no cómo recuperar una matriz unidimensional de esto?
EDIT: Se me ocurrió que esto podría significar un SAFEARRAY de VARIANTES. Pero entonces, surgen dos preguntas: ¿por qué todo está bien con matrices bidimensionales? ¿Cómo convierto un SAFEARRAY en una matriz de C#?