Ładowanie i przekazywanie tablic JScript z / do C # (nie C) Komponent COM

Przeglądałem tutoriale dotyczące tablic jscript, ale jeszcze ich nie widziałem. Widziałem coś podobnego, ale wymagającego kodu Win32, a nie .NET.

Zastanawiasz się, w jaki sposób przekazywać tablice między JScript a składnikiem C # COM?

Na przykład mam dwie właściwości zdefiniowane w moim C # COM, który zwraca ciąg znaków i tablice liczb całkowitych jako:

string[] HeaderLines { get; set; }
int[] ImagePixels { get; set; }

W moim pliku test.js:

...

var T = new ActiveXObject("Imager.Reader"); 
...    
var headerLines = T.HeaderLines;
WScript.StdOut.WriteLine("First HeaderLine:" + headerLines[0]);
var pixels = T.ImagePixels;
WScript.StdOut.WriteLine("First Pixel: " + pixels[0]);

Błąd występuje wtedy, gdy nagłówek nagłówka [0] jest wypisany: C: ef.js (12, 1) Błąd wykonania Microsoft JScript: 'headerLines.0' jest zerowy lub nie jest obiektem

Jeśli usuwam headerLines w test.js, otrzymuję ten błąd (zasadniczo taki sam, ale dla tablicy liczb całkowitych): C: temp.js (12, 1) Błąd wykonania Microsoft JScript: 'pixels.0' to null lub nie obiekt

Mogę dobrze uzyskać wyniki z właściwości innych niż tablica, a także przekazać wartości do innych metod, ale nie do tablic. Muszę także przekazać tablice ciągów i liczb całkowitych do metody zdefiniowanej w moim komponencie COM C # jako:

bool Write(string filename, string[] headerLines, int[] pix, int width, int height);

Korzystam z Visual Studio Express 2012 dla Desktop do tworzenia elementu COM w C #. Jeśli potrzebujesz innych informacji, daj mi znać.

questionAnswers(1)

yourAnswerToTheQuestion