Entwickler-Ecke

Basistechnologien - object[*] - wie konvertieren in ein "normales" array?


JEG - Fr 13.05.11 12:23
Titel: object[*] - wie konvertieren in ein "normales" array?
Hallo,

ich bekomme als Rückgabe aus einer COM-Funktion ein Array, das den Datentyp "object[*]" hat. Beim Anschauen im Debug-Modus sehe ich, dass das Objekt eine Liste von Strings ist. Sämtliche Konvertierungsbemühungen schlagen allerdings fehl.

chain ist hierbei mein COM-Objekt, das per chain.Data mir das oben beschriebene Array liefert.

C#-Quelltext
1:
2:
3:
4:
5:
6:
object otmp = chain.Data;
object[] list;
try
{
  list = (object[])Convert.ChangeType(otmp, typeof(object[]));
}

Ich bekomme die Fehlermeldung "Object must implement IConvertible". Als Typ für otmp wird mir "System.Object[*]" angezeigt.

Danke,
Jörg


Th69 - Fr 13.05.11 14:41

Hallo JEG,

ich selber kann dir direkt keine konkrete Antwort geben, da ich mich mit COM zu wenig auskenne, habe aber gerade eben diesen analogen Thread im myCSharp-Forum gelesen: Wie kann man double[*] in double [] umwandeln? [http://www.mycsharp.de/wbb2/thread.php?threadid=95499]
Vllt. hilft dir das ja weiter?


JEG - Fr 13.05.11 16:12

Danke, das war es - ein Array, das mit Index 1 anfängt...

Vielen Dank und Gruß,
Jörg