Compiler du code à l'éxecution
Bonjour,
En ce moment j'essaie de tester plusieurs manières d’accéder à une base de données locale. J'ai créé un outils de génération de code qui me permet de récupérer les infos d'une table sql et de les utiliser pour créer une classe correspondant à la table.
Par exemple, la classe Produit (représentant la table Produit..) dans un fichier Produit.vb:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Public Class [Produit]
Property [ID] As System.Int32 'ID
Property [Libelle] As System.String 'Libelle
Property [Prix] As System.Decimal 'Prix
Sub New()
End Sub
Sub New(ByVal params As Object)
Me.ID = params(0)
Me.Libelle = params(1)
Me.Prix = params(2)
End Sub
End Class |
J'ai une méthode qui me permet d'utiliser ces classes de façon générique:
Code:
1 2 3 4 5 6 7 8 9
| Public Function GetInstance(a As Assembly, className As String, params As Object) As Object
Try
Dim t As Type = a.[GetType](className)
Return Activator.CreateInstance(t, params)
Catch generatedExceptionName As ArgumentNullException
Return Nothing
End Try
End Function |
Tout marche très bien cependant je me pose une question:
Est il possible de générer des objets similaires sans avoir à créer le fichier.vb, mais simplement une classe en mémoire qui se chargerait au lancement de l'application? Si oui, y a t' il des inconvénients à utiliser une telle démarche?