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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ), j'aimerais faire un truc du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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