Estoy tratando de pasar la matriz .NET a la biblioteca COM VB6. Tengo un objeto que es contenedor COM del objeto VB6. Tiene método con la siguiente firma:Pasando la matriz C# de objetos COM a VB6
[MethodImpl(MethodImplOptions.InternalCall,
MethodCodeType = MethodCodeType.Runtime)]
void AddEx([MarshalAs(UnmanagedType.Struct)] object vSafeArrayOfItems);
pero cuando lo llamo me sale un ArgumentException
con el siguiente mensaje:
Valor no está dentro del rango esperado.
El tipo de excepción y su descripción ni siquiera dependen del elemento pasado.
¿Alguien sabe cómo evitar este problema?
UPD: Eliminé los ensamblados de empaquetamiento .NET y las bibliotecas fuente .COM referidas. No hubo cambios
El atributo [MarshalAs] es claramente erróneo. –
De acuerdo. @ user1453239 ¿Por qué crees que era una estructura? – tcarvin
Esta declaratioin es de la biblioteca que estoy tratando de usar. Es proporcionado por un desarrollador externo. –