Como cargar un objeto desde un datarow???

15/02/2006 - 10:09 por Joaquin Pelayo Bedia | Informe spam
Hola,

Tengo el siguiente problema:

Un objeto (de tipo generico) osea un objeto, que tiene X propiedades la
cuales corresponden con los Datacolumn de una Tabla. Quiero crear una
funcion que carge los valores a dicho objeto, pero no veo la forma de
hacerlo, alguna idea??

Por ejemplo:

Public Sub CargarObjeto(ByRef Objeto As Object, ByVal dr As DataRow)

For Each columna As DataColumn In dr.Table.Columns

Objeto.[columna.ColumnName] = dr.Item(columna.ColumnName)

Next

End Sub

Muchas gracias

Joaquin Pelayo
 

Leer las respuestas

#1 A.Poblacion
15/02/2006 - 14:30 | Informe spam
"Joaquin Pelayo Bedia" <joapel??@terra.es> wrote in message
news:
Un objeto (de tipo generico) osea un objeto, que tiene X propiedades la
cuales corresponden con los Datacolumn de una Tabla. Quiero crear una
funcion que carge los valores a dicho objeto, pero no veo la forma de
hacerlo, alguna idea??

Por ejemplo:

Public Sub CargarObjeto(ByRef Objeto As Object, ByVal dr As DataRow)
For Each columna As DataColumn In dr.Table.Columns
Objeto.[columna.ColumnName] = dr.Item(columna.ColumnName)
Next
End Sub



Tendrás que usar System.Reflection para obtener las propiedades del
objeto y luego hacer un SetValue sobre cada una de ellas. Algo parecido a lo
siguiente:

Imports System.Reflection

Public Sub CargarObjeto(ByRef Objeto As Object, ByVal dr As DataRow)
Dim t as Type = Objeto.GetType()
For Each columna As DataColumn In dr.Table.Columns
Dim p as PropertyInfo = t.GetProperty(columna.ColumnName)
p.SetValue(Objeto, dr.Item(columna.ColumnName), Nothing)
Next
End Sub

Preguntas similares