Próbuję przekazać bibliotekę .NET do biblioteki COM VB6. Mam obiekt, który jest opakowaniem COM obiektu VB6. Ma metodę z następującym podpisem:Przekazywanie tablicy C# obiektów COM do VB6
[MethodImpl(MethodImplOptions.InternalCall,
MethodCodeType = MethodCodeType.Runtime)]
void AddEx([MarshalAs(UnmanagedType.Struct)] object vSafeArrayOfItems);
ale gdy zgłoszę go dostaję ArgumentException
z następującym komunikatem:
wartość nie mieści się w oczekiwanym zakresie.
Typ wyjątku i jego opis nie zależy nawet od przekazanego elementu.
Czy ktoś wie, jak obejść ten problem?
UPD: Usunąłem zespoły opakowania .NET i odsyłane źródłowe biblioteki .COM. Nie nastąpiły żadne zmiany.
Sieć [MarshalAs] atrybutem jest oczywiście błędne. –
Uzgodnione. @ user1453239 dlaczego uważasz, że to była struktura? – tcarvin
Ta deklaracja pochodzi z biblioteki, której próbuję użyć. Jest on dostarczany przez niezależnego programistę. –