cs_grrrrrrrrrr
Messages postés3Date d'inscriptionmardi 15 août 2006StatutMembreDernière intervention15 août 2006
-
15 août 2006 à 11:46
white_mage
Messages postés47Date d'inscriptionjeudi 5 février 2004StatutMembreDernière intervention25 février 2010
-
15 août 2006 à 15:24
Bonjour,
J'ai une question vraiment bête...mais j'ai l'impression de regresser.
J'ai une class "MaClassBase" dans une bibliothèque de class. J'ai, dans mon projet, hérité une class "MaClassHeritee" qui ajoute une simple procédure de traitement.
J'ai une fonction qui me renvoie une "list(of MaClassBase)" j'aimerais convertir cette liste en "liste(of MaClassHeritee)". Cela me semble possible....mais aucune conversion ne fonctionne (CType, DirectCast, etc...). Je n'arrive pas non plus à convertir un objet MaClassBase en MaClassHeritee.
J'ai du rater un épisode parce qu'il me semble que je l'ai déjà fait plusieurs fois ?!?
white_mage
Messages postés47Date d'inscriptionjeudi 5 février 2004StatutMembreDernière intervention25 février 2010 15 août 2006 à 15:24
On y arrive en convertissant la liste de class de base en list de class héritée via la méthode générique ConvertAll.
Un simple exemple :
Dim
obj
As List(
Of ObjetBase) = ...
'..Remplir la list ici !!
Dim objH
as list(
of ObjetHerite) = obj.ConvertAll(
New Converter(
of ObjetBase, ObjetHerite)(
addressOf maFonctionQuiVaFaireLaConversionObjetBaseAObjetHerite)
Private
Function maFonctionQuiVaFaireLaConversionObjetBaseAObjetHerite(
ByVal o
As ObjetBase)
As ObjetHerite
Dim objTmpHerite
As
New ObjetHerite
objTmpHerite.propriete1 = o.propriete1
objTmpHerite.propriete2 = o.propriete2
'Etc.........
End
Function
Voili voilo !!! Une conversion qui utilise la magie des génériques....
A+++
White_Mage();
Tu peut pas convertire une class cA en sa classe hérité cB.
Par contre tu peux faire l'inverse.
Kenji
Il était une fois, un pauvre petit règlement que personne ne lisait. Il est tout sympa mais il est triste, aidez-le, lisez-le, ca lui ferait plaisir ainsi qu'a n
cs_grrrrrrrrrr
Messages postés3Date d'inscriptionmardi 15 août 2006StatutMembreDernière intervention15 août 2006 15 août 2006 à 14:02
Grrre. C'est un peu bête mais c'est vrai que c'est logique.
Mais alors comment transformer ma liste "classBase" en "classHeritee" afin de pouvoir utiliser la fonction qui si trouve et qui utilise les membre de la class base ?? Y'a t-il un moyen de le faire ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_grrrrrrrrrr
Messages postés3Date d'inscriptionmardi 15 août 2006StatutMembreDernière intervention15 août 2006 15 août 2006 à 14:07
De plus, je n'arrive pas a convertir une liste de type "classHeritee" en type "classBase" non plus !!! J'ai exactement le même message d'erreur dans un sens ou dans l'autre....