Bonjour,

Je cherche à utiliser la méthode Type.InvokeMember du Framework .NET afin de faire de la réflexion sur des objets .NET dans mon application Windev.

Je n'arrive pas à passer la liste des arguments à la méthode InvokeMember : le type attendu est un tableau d'objets comme MSDN l'indique :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
public Object InvokeMember(
	string name,
	BindingFlags invokeAttr,
	Binder binder,
	Object target,
	Object[] args
)
Mon problème est de trouver comment faire en Windev pour construire un tableau d'objets contenant des types de base (entier, booléen).

J'ai essayé ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
tpArgs est un tableau de 1 "System.Object"
opArgInt32 est un "System.Int32"(2)
tpArgs[1] = opArgInt32
 
opType.InvokeMember(cpNomParam, BindingFlags.SetField, Null, opCmd, tpArgs)
Mais Windev plante à l'éxécution sur la ligne en disant Types incompatibles durant une affectation.

J'ai aussi essyé ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
tpArgs est un tableau de 1 "System.Object" dynamique
tpArgs[1] = allouer un "System.Int32"(2)
 
opType.InvokeMember(cpNomParam, BindingFlags.SetField, Null, opCmd, tpArgs)
Mais dans ce cas, il y a une erreur de compilation : Aucune syntaxe de InvoleMember ne correspond.

Je cale ! Merci pour votre aide.