Cast générique

pcayrol Messages postés 18 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 13 mars 2013 - 22 janv. 2008 à 15:48
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 22 janv. 2008 à 23:28
Bonjour,


Voici mon souci :


J'ai une classe Modele qui contient un int* pBuffer.


J'ai aussi défini plusieurs structure STRUCT 1, STRUCT 2, etc...


J'instancie plusieurs instances de Modele.


Je veux maintenant caster mon adresseBuffer (pour pouvoir visualiser la
valeur des attributs) dans l'une de ces structures et que ce soit
générique : c'est à dire je ne veux pas écrire dans le code :
<!-- BEGIN TEMPLATE: bbcode_code -->

Code :
STRUCT1* pStruct = (STRUCT1 *) pBuffer;

Je sais pourtant à quelle structure
(STRUCT1 ou STRUCT2) mon pBuffer correspond mais je ne possède l'info
que littéralement, à savoir dans un String...


Comment puis je procéder...


Merci.


Pascal

Pascal

3 réponses

Nikoui Messages postés 794 Date d'inscription vendredi 24 septembre 2004 Statut Membre Dernière intervention 19 août 2008 13
22 janv. 2008 à 16:01
Juste pour être sur, c'est bien du C# ?

<hr size="2" width="100%" />
Working as designed
www.nikoui.fr
0
pcayrol Messages postés 18 Date d'inscription jeudi 24 décembre 2009 Statut Membre Dernière intervention 13 mars 2013
22 janv. 2008 à 16:02
Je suis obligé d'utiliser des pointeurs car je récupère ce pointeur d'une dll C non managée...


Ce que je veux faire, c'est afficher les valeurs des attributs d'un
pointeur sur un buffer sachant que pour le dit pointeur (une int* je le
rappelle), je ne possède qu'en chaine de caractère la structure qui le
décrit.


Est ce clair ou avez vous besoin de plus de détails ?

Pascal
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
22 janv. 2008 à 23:28
Salut, via la reflexion et la classe Activator tu peux créer un objet dont tu connais seulement le nom à l'exécution, c'est peut être le point de départ qui te manque mais après faut obtenir un pointeur sur ce nouvel objet et connaîtres les offsets des ses différents champs.. ça va te faire un code bien tordu :/
0
Rejoignez-nous