Przekazuj tablicę z vba do c # używając com-interop
Jaki jest właściwy sposób na przekazanie tablicy klas zdefiniowanych przez użytkownika z vba do .net (konkretnie c #) za pomocą com-interop?
Oto mój kod c #. Jeśli wywołam metodę 1 z vba, to kończy się niepowodzeniem z „oczekiwanym typem tablicy lub typu zdefiniowanego przez użytkownika” lub „funkcja używa typu automatyzacji nieobsługiwanego w Visual Basic”.
public class MyClass
{
public Method1(UserDefinedClass[] Parameters) { ... }
public Method2(Object Parameters) { ... }
}
Czytałem trochę o klasie MarshallAsAttribute. Czy to może być brakujący element w kodzie c #?
Oto kod vba, którego używam:
Dim udt As New UserDefinedClass
Dim myArray()
myArray(1) = udt
myClass.Method1(myArray)
myClass.Method2(myArray)