Convertir un Objet en Array [Résolu]

Signaler
Messages postés
36
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
23 juin 2008
-
Messages postés
36
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
23 juin 2008
-
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 [,]?

2 réponses

Messages postés
1024
Date d'inscription
mardi 4 février 2003
Statut
Membre
Dernière intervention
7 juin 2010
64
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)
Messages postés
36
Date d'inscription
lundi 28 juillet 2003
Statut
Membre
Dernière intervention
23 juin 2008

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;