> convertir une valeur string en nom d'objet

cs_valentin85 Messages postés 8 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 12 janvier 2009 - 22 oct. 2007 à 16:06
cs_valentin85 Messages postés 8 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 12 janvier 2009 - 26 oct. 2007 à 20:59
bonjour a tous,

Je commence juste en language objet et j'ai une petite question :  comment convertir une valeur string en nom d'objet

------
ex : j'ai une classe "objetclass" et j'ai créé monobjet.objetclass()
------

code théorique :

Dim text as String = "monobjet"

text.affiche()   "je voudrais > monobjet.affiche() "

j'espere être clair

Merci beaucoup !

val !

4 réponses

GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
23 oct. 2007 à 15:19
Bonjour,

Avec mon langage qui possède des fonctions introspectives tu peux le faire comme ceci :

#Option Strict

Class monobjet
Dim %a = 15
    Method affiche()
        MsgBox( 0, "affiche()", "", MB_OK )
    End Method
End Class

Dim nom = "monobjet"
Dim texte As New _( GetTypeName( _(nom)_ ) )_
texte.affiche()

Après il faut essayer avec un autre langage capable d'introspection et OOP

Gérôme GUILLEMIN
Auteur du langage FBSL
0
cs_valentin85 Messages postés 8 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 12 janvier 2009
25 oct. 2007 à 15:59
j'ai toujours pas trouvé sous vb.net

j'ai pensé a ca :

  Dim var1 As objetclass
  Dim ss As String = " monobjet "
  var1 = CType(ss,objetclass)  // ss une valeur de type string ne peut etre convertie en .objetclass
  MsgBox(var1.affiche)

mais non snif
0
GEDDi Messages postés 206 Date d'inscription lundi 22 novembre 1999 Statut Membre Dernière intervention 3 juillet 2008
26 oct. 2007 à 20:06
Bonsoir,

En effet, en .NET c'est tout simplement impossible !
Par contre avec mon langage, on peut le faire encore plus simplement comme ceci grâce à l'opérateur _( )_ qui est une sorte de
super CType mais introspectif, ce que .net ne fait pas, car trop typé tout simplement.

Dim nom = "monobjet"
Dim texte As New _( nom )_
texte.affiche()

Gérôme GUILLEMIN
Auteur du langage FBSL
0
cs_valentin85 Messages postés 8 Date d'inscription vendredi 21 février 2003 Statut Membre Dernière intervention 12 janvier 2009
26 oct. 2007 à 20:59
Malheureusement le FBSL n'est pas au programme des universités Anglaises et Galloises donc je ne peux pas l'utiliser pour mon module d'Application developement en .net

Merci quand même je vais aller jeter un coup d'oeil sur votre site

val !
0
Rejoignez-nous