Bonjour,
Je suis en train d'implémenter une lib C++/CLI qui wrappe une autre lib C++, pour que les données soient accessible depuis C#.
Jusqu'à présent je n'ai pas eu de problème à implémenter, mais j'arrive sur un pan glissant de la manip.
En effet, du côté lib C++, j'ai du polymorphisme.
J'ai fais en sorte de retrouver ce polymorphisme en C++/CLI dans les wrappers, pas de problème :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 UA - UB - UC
Le problème se situe dans le passage du C++ au C++/CLI.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 A - B - C
J'ai un algo qui renvoie une liste de UA*, et ceux-ci doivent se retrouver sous forme de liste de A^ dans la lib CLI. Mais UA (et A) sont des classes abstraites. Il faut donc utiliser les classes concrètes pour wrapper.
Problème, comment savoir ? Je pense passer par une factory, qui prend en entrée un UA* et rend en sortie un A^. Mais comment cette factory peut savoir sur l'objet o est de type UB* ou UC* ?
Merci pour toute aide sur ce problème, pour lequel je n'ai rien trouvé sur le net (au sens web, pas .net )
Partager