我正在尝试将 .NET 数组传递给 COM VB6 库。我有一个对象,它是 VB6 对象的 COM 包装器。它具有具有以下签名的方法:
[MethodImpl(MethodImplOptions.InternalCall,
MethodCodeType = MethodCodeType.Runtime)]
void AddEx([MarshalAs(UnmanagedType.Struct)] object vSafeArrayOfItems);
但是当我调用它时,我会收到ArgumentException
以下消息:
值不在预期范围内。
异常的类型及其描述甚至不依赖于传递的元素。
有人知道如何解决这个问题吗?
UPD:我删除了 .NET 包装程序集和引用的源 .COM 库。没有发生任何变化。