Foros del Web » Programación para mayores de 30 ;) » .NET »

Convertir List(of Object) a List(of Tipo)

Estas en el tema de Convertir List(of Object) a List(of Tipo) en el foro de .NET en Foros del Web. Hola, saludos para todos... Tengo una clase que me convierte un DataTable a una lista con tipos object... Lo que quiero es convertir esa lista ...
  #1 (permalink)  
Antiguo 28/09/2011, 13:39
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Convertir List(of Object) a List(of Tipo)

Hola, saludos para todos...
Tengo una clase que me convierte un DataTable a una lista con tipos object...

Lo que quiero es convertir esa lista de tipo generica a una lista con un tipo de objeto determinado. Quisiera saber si es posible sin tener que recorrerla.

List(of object) a List(of objetoEspecifico)

Gracias
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #2 (permalink)  
Antiguo 30/09/2011, 09:30
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Convertir List(of Object) a List(of Tipo)

en si es posible sin necesidad de nada porque todo hereda de object entonces en teoria soloc on asignarla deberias poder.
  #3 (permalink)  
Antiguo 30/09/2011, 10:18
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 16 años, 6 meses
Puntos: 80
Respuesta: Convertir List(of Object) a List(of Tipo)

Esto es un ejemplo, lo único que lo mio es con objetos propios no del sistema.
Código vb:
Ver original
  1. Dim lisObj As List(Of Object) = New List(Of Object)
  2. Dim lisStr As List(Of String) = New List(Of String)
  3.  
  4. lisObj.Add("Un Dato")
  5. lisStr.AddRange(lisObj)

Yo cargo el listObj con objetos del tipo final ya, pero de antemano no se que tipo va a tener adentro, pues lo que hace es convertir un DataTable a una Colección de Objetos de forma dinámica.

Con el código que te puse en tiempo de ejecución me da el siguiente error:
No se puede convertir un objeto de tipo 'System.Collections.Generic.List`1[System.Object]' al tipo 'System.Collections.Generic.IEnumerable`1[System.String]'.

y si pongo :
Código vb:
Ver original
  1. lisStr = lisObj

Me da : Un valor de tipo 'System.Collections.Generic.List(of object)' no se puede convertir en 'System.Collections.Generic.List(of String)'

Igual deje mi colección como Object y puedo seguir adelante porque esta llena con objetos del tipo que yo quiero y puedo usarlo lo único que no me da los métodos en el autocompletado....
Pero se puede vivir sin eso...

Gracias por la respuesta...
P.D.: Recién empiezo con Vb.net así que pienso estar seguido por aquí...
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #4 (permalink)  
Antiguo 30/09/2011, 10:32
Avatar de HaverRamirez  
Fecha de Ingreso: junio-2011
Ubicación: Guatemala
Mensajes: 273
Antigüedad: 12 años, 9 meses
Puntos: 33
Respuesta: Convertir List(of Object) a List(of Tipo)

Prueba

ejemplo
Dim ol As New List(Of Object)()
Dim sl As List(Of String)
sl = DirectCast(ol, List(Of String))

con tu codigo

Dim lisObj As List(Of Object) = New List(Of Object)
Dim lisStr As List(Of String) = New List(Of String)

lisObj.Add("Un Dato")
lisStr = DirectCast(lisObj,List(of String))

Etiquetas: object
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:40.