En Excel puede devolver una matriz dinámica System.Object[*]
, a partir de una serie de objetos utilizando XValues
. En .NET 3.5 se puede acceder a los elementos de este objeto echándola por y la matriz, es decir:.NET 4.0 problemas de Excel de interoperabilidad con colecciones dinámicas
var values = (Array)series.XValues;
en .NET 4.0, esto ya no funciona, y el mensaje
"No se puede convertir el objeto de tipo 'System.Object [*]' al tipo 'System.Object []'" se da
.
¿Alguna idea? Lo siguiente no funciona:
- Fundido como dinámico.
- casting a un
System.Object[*]
. - Simplemente colocando el objeto en a para cada ciclo.
- Intentar acceder directamente usando el valor
values[1]
, ni cuando se lanza como una dinámica.
Sin embargo, los valores dentro de la matriz aparecen en el depurador.
El problema que tengo no está recibiendo el valor fuera de un objeto Array cuya isnt-límite inferior 0, el problema que estoy teniendo es que no puedo convertir la colección de objetos COM en nada utilizable por .NET. El código de ejemplo que proporcionó involucra el uso de un objeto de tipo Array, pero no puedo transmitir la colección que se me da a una matriz. Gracias por su tiempo sin embargo. –
'No se puede convertir el objeto de tipo 'System.Object [*]'. Eso es una matriz. –
@HansPassant la dificultad está en lanzar eso, ver el enlace en mi respuesta para más detalles. – GreyCloud