darb66
Messages postés36Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention23 juin 2008
-
26 juil. 2007 à 11:39
darb66
Messages postés36Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention23 juin 2008
-
26 juil. 2007 à 12:11
Bonjour, J'utilise une référence COM pour pouvoir bénéficier de différentes fonctions... Je bloque sur une fonction dont voilà sa signature:
get_object_info(out Object monInfo)
Cette fonction retourne donc un objet - la fonction GetType retourne Object[,] - mais je sais que c'est en faite un tableau 2 Dim qui contient en principe des String (ou Int)... Malheureusement je ne trouve pas comment accéder au contenu de ce tableau... J'ai bien essayé de caster l'Objet en String[,] ou Array[,], mais j'obtiens l'erreur suivante: System.Object[,] ne peut pas être converti en Type System.Array[,].
Quelqu'un aurait une idée? Merci d'avance... Par ailleurs quelqu'un pourrait me dire la différence entre l'objet [][] et [,]?
SharpMao
Messages postés1024Date d'inscriptionmardi 4 février 2003StatutMembreDernière intervention 7 juin 201069 26 juil. 2007 à 12:03
Hello,
Je peux me tromper, mais je ne crois pas qu'on puisse caster un tableau d'objet.
Par contre, tu peux en créer un nouveau.
object[,]
objTab = (
object[,])
monInfo;
string[,]
strTab =
new
string[
objTab.
GetLength(0),
objTab.
GetLength(1)];
Array.
Copy(
objTab,
strTab,
objTab.
Length);
Pour ta deuxième question, la différence entre [][] et [,] :
[][] est un tableau de tableau , chacun des tableaux de la 2ème génération peut avoir une taille différente.
[,] est plutôt une matrice rectangulaire, chacun des tableaux de la 2ème génération a la même taille.
Amicalement, SharpMao
"C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!"
(Coluche / 1944-1986 / Pensées et anecdotes)
darb66
Messages postés36Date d'inscriptionlundi 28 juillet 2003StatutMembreDernière intervention23 juin 2008 26 juil. 2007 à 12:11
Hello, merci pour ta réponse... j'ai posté un peu vite car après avoir fait quelques essais, j'ai trouver la même solution que celle que tu propose à savoir:
Object[,] Models = (Object[,]) oModels;