Duda sobre Web Services

26/10/2005 - 13:11 por Samuel | Informe spam
Hola a todos,

tengo un problema con una aplicación que utiliza web services. Tengo una
librería de clases que utilizo tanto en el web service como en la aplicación
cliente. El web service tiene métodos que me devuelven arrays de elementos.
Estos elementos de tipo propio definido en la librería de clases los necesito
cargar en un combobox.

El problema que tengo es que no puedo utilizar el método toString() para
visualizar la descripción del elemento en lugar de su tipo en el combobox. He
probado a utilizar la propiedad DisplayMember para visualizar un campo
concreto pero no me deja editar esta propiedad en el combobox.

Haciendo más pruebas he descubierto que si utilizo esta misma clase cargando
directamente la librería de clases en la aplicación cliente sí me permite
utilizar esta propiedad.

También he probado a hacer una conversión de tipo de un array del tipo
serializado por el web service al tipo de la librería de clases cargada en la
aplicación cliente, y como resultado he obtenido un error de Casting de tipos
en tiempo de ejecución.

Alguien sabe cómo solucionar este problema sin hacer travesuras como volver
a crear los elementos en el cliente con un Sub New(t As Tipo)?

Saludos y gracias de antemano.

Samuel Casanova
 

Leer las respuestas

#1 dsadas
26/10/2005 - 13:54 | Informe spam
Hola Samuel.
No se si esto es lo que te pasa pero mi pregnuta es si en la clase donde
defines el tipo de objecto que quiers almacenar en los arraylist tienen
propiedades definidas.

He probado y a mi en un pricipio me mostraba el tipo de objecto. Para que
no suceda esto añade propiedades de solo lectura a tu clase tipo.

Ejemplo:

Public Class Persona


Public Enum Tipo
Principiante
Experto
MVP
End Enum
Private _Nombre As String
Private _Tipo As String

Public Sub New(ByVal Nombre As String, ByVal Tipo As Tipo)
_Nombre = Nombre
_Tipo = Tipo
End Sub
Public ReadOnly Property Nombre() As String
Get
Return _Nombre
End Get

End Property



End Class


en el combobox:
me.combo.displaymenber="Nombre"
me.combo.datasource=webservice.ObtenerPersonas()
Espero que te sirva.
Un saludo
Carlos
"Samuel" escribió:

Hola a todos,

tengo un problema con una aplicación que utiliza web services. Tengo una
librería de clases que utilizo tanto en el web service como en la aplicación
cliente. El web service tiene métodos que me devuelven arrays de elementos.
Estos elementos de tipo propio definido en la librería de clases los necesito
cargar en un combobox.

El problema que tengo es que no puedo utilizar el método toString() para
visualizar la descripción del elemento en lugar de su tipo en el combobox. He
probado a utilizar la propiedad DisplayMember para visualizar un campo
concreto pero no me deja editar esta propiedad en el combobox.

Haciendo más pruebas he descubierto que si utilizo esta misma clase cargando
directamente la librería de clases en la aplicación cliente sí me permite
utilizar esta propiedad.

También he probado a hacer una conversión de tipo de un array del tipo
serializado por el web service al tipo de la librería de clases cargada en la
aplicación cliente, y como resultado he obtenido un error de Casting de tipos
en tiempo de ejecución.

Alguien sabe cómo solucionar este problema sin hacer travesuras como volver
a crear los elementos en el cliente con un Sub New(t As Tipo)?

Saludos y gracias de antemano.

Samuel Casanova

Preguntas similares