Récupération de types de variables sur une instance fournit par un Web Service
diachun
Messages postés5Date d'inscriptionmardi 5 mai 2009StatutMembreDernière intervention 7 mai 2009
-
5 mai 2009 à 16:35
diachun
Messages postés5Date d'inscriptionmardi 5 mai 2009StatutMembreDernière intervention 7 mai 2009
-
6 mai 2009 à 10:47
Bonjour,
Ma config:Visual Studio 2008, code behind en C# et page aspx
Alors voila, je travaille sur une référence de web service que l'on va appeler Client_service.
/*Ce service me permet de récupérer des instances de type client*/
Client[] list = Cs.ReadMultiple(filtre.ToArray(), null, 100
);
/
*ou readMultiple est une méthode fournie par Cs qui me renvoie une liste de client mais bref...passons
Cl possède des attributs (Name, ID, Adresse etc...) auxquels je peux accéder par la boucle suivante*/
foreach
(PropertyInfo pi in Cl.GetType().GetProperties())
/*Pour l'attribut Adresse par exemple, pi.Name ="Adresse" et pi.getValue(Cl,null) vaut "Monsieur Jesuisla" (par exemple!au hasard...)Jusque la vous suivez? Ok car c'est la que ça se complique:
je veux pouvoir récupérer des variables de type String dans des textboxes(t.Text) et les caster afin de changer les valeur de mes propriétés pi.Le problème c'est que certaines valeurs sont des String d'autres des Integer ou encore des Doubles
Alors j'ai testé ça:*/
{
System.Type st = pi.GetValue(Cl, null).GetType();
/*En s'assurant que pi.GetValue !=null biensur*/
st val = (st)cible.Text;
}
/*Et ça court pas des masses...ça ne marche même pas...*/
Quelqu'un de charitable aurait une idée?
Je vous remercie
A voir également:
Récupération de types de variables sur une instance fournit par un Web Service
""
)); }
Et à la compilation il ne reconnait pas st (celui en rouge)
avec le message suivant:
Le type ou le nom d'espace de nom st est introuvable (une directive using ou une assembly est elle manquante?).
Il me laisse pas faire ce cast (st)...
diachun
Messages postés5Date d'inscriptionmardi 5 mai 2009StatutMembreDernière intervention 7 mai 2009 6 mai 2009 à 10:47
Oui, avec name ça marche puisqu'il attend un String comme type de donnée("Monsieur ASP" par exemple.Mais avec une autre donnée comme "Client.solde" qui attend un decimal genre 1500, il va me retourner qu'il attend un System.Decimal et que moi je lui file un System.String.