Reflexion et Cast dynamique
Bonjour à tous,
Je me retrouve confronté à un problème.
J'utilise pas mal de réflexion en ce moment pour créer des objets et les remplir.
je récupère toutes les valeurs à remplir dans un XML, donc en String et je n'ai aucune envie de caster à la lecture.
Le problème est qu'au remplissage des propriétés des objets qui ne sont pas des strings, ça pète...normal jusque là.
J'aimerais donc caster les string à la volée juste avant de les mettre dans les champs.
Je fais donc çà pour récupérer le type de la propriété :
Code:
1 2 3 4 5 6 7 8 9
|
'Récupération du type de l'objet à créer
Dim objType As Type = dbAssembly.GetType(nmSpace & table)
'Création de l'objet voulu
Dim instance As Object = Activator.CreateInstance(objType)
'Récupération de la propriété
Dim objField As PropertyInfo = objType.GetMember(field)(0) |
Une fois ça de fait (ça fonctionne niquel, mais si vous avez mieux, je prends :P), j'aimerais faire un truc du style :
Code:
CallByName(instance, field, [Set], CType(value, objField.PropertyType))
Seulement ce couillon de compilateur aime pas, parce qu'il voudrait un type prédéfinie...une solution ?
Thanx
Gurdil