2009-05-13 17 views
1

J'ai implémenté une méthode de remplacement ToString() pour ma classe dans mon service Web et je renvoie un List<myObject>() dans une fonction dans un consommateur. Si je fais un .ToString() il retourne l'objet Type. Comment puis-je m'attaquer à cela en C#?ToString() dans une classe Webservice

Merci.

+0

Voulez-vous dire que vous avez une méthode ToString() qui ne renvoie pas une chaîne? Renommez-le. –

+0

Non, il renvoie le type d'objet si je l'utilise dans la page .aspx. – Greens

+0

Je pense qu'il dit que le remplacement ne semble pas fonctionner correctement lorsqu'il appelle la méthode toString() sur la classe de base. – mquander

Répondre

3

Lors du passage d'objets & dans un service Web, il suffit de transmettre une représentation XML des propriétés publiques de cet objet. Toutes les méthodes, surchargées ou non, ne viennent pas avec.

Je recommande faire une propriété StringRepresentation qui appelle ToString()

public string StringRepresentation 
{ 
    get { return this.ToString(); } 
    set { /* Do Nothing, but there has to be a set */ } 
} 
+0

Puis-je savoir pourquoi cela arrive. – Greens

+0

Fondamentalement, vous ne pouvez transmettre des chaînes que via un service Web. Ainsi, il compile votre objet en XML et transmet le XML au lieu de l'objet réel. –

+0

Thanks.Makes sense – Greens

Questions connexes