Convertir un Objet en Array [Résolu]

darb66 36 Messages postés lundi 28 juillet 2003Date d'inscription 23 juin 2008 Dernière intervention - 26 juil. 2007 à 11:39 - Dernière réponse : darb66 36 Messages postés lundi 28 juillet 2003Date d'inscription 23 juin 2008 Dernière intervention
- 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 [,]?
Afficher la suite 

2 réponses

Répondre au sujet
SharpMao 1025 Messages postés mardi 4 février 2003Date d'inscription 7 juin 2010 Dernière intervention - 26 juil. 2007 à 12:03
+3
Utile
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)
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de SharpMao
darb66 36 Messages postés lundi 28 juillet 2003Date d'inscription 23 juin 2008 Dernière intervention - 26 juil. 2007 à 12:11
0
Utile
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;
Commenter la réponse de darb66

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.