Guardando el Estado de Los Objectos BinaryFormatter
Si alguna vez pensaste en como guardar el estado de los objetos que tienes en tu programa, no me refiero solo a los datos. si no a a clases completas, con esta clase, valga a redundancia lo podras hacer.
Para que ?, pues como te cuento en el ejemplo del video , para guardar el estado de una aplicacion cuando da error.
Lo que necesitas para este ejemplo es: 1 textbox, y 3 botones.
el codigo lo tienes a continuación del video. Miralo te vendra bien :).
Hola a todos. Vamos a ver como podemos transformar los datos que provienen de un datatable a un objeto contenedor , que contienen DTOs con los datos.
Partiendo de la Base del DTO vamos a crear una clase con una funcion que transformara esos datos.
Lo primero es la clase DTO que vamos a utilizar que podria ser como esta.
Visual Basic .NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
PublicClassDTOCLIENTE
Private_Id
PublicProperty Id AsInteger
Get
Return _Id
EndGet
Set(value AsInteger)
_Id=value
EndSet
EndProperty
Private_Nombre
PublicProperty Nombre AsString
Get
Return _Nombre
EndGet
Set(value AsString)
_Nombre=value
EndSet
EndProperty
Private_Apellidos
PublicProperty Apellidos AsString
Get
Return _Apellidos
EndGet
Set(value AsString)
_Apellidos=value
EndSet
EndProperty
PublicSubNew()
EndSub
EndClass
Pues bien , ya tenemos el DTO general , ahora necesitamos los datos,
los puedes haber obtenido usando OLEDB, ADODB. o como sea yo los creare a mano para el ejemplo.
Como vas a ver , coinciden los formatos de campo con los formatos de campo del DTO, esto es importante por que si no dara error.
Ya tenemos la estructura DTO y el Datatable, pues ahora solo nos falta el convertidor, que yo , lo cree en una nueva clase, que se llama DTToDTO
(Datatable to DTO) cuya funcion es ToDTO al cual le pasamos el Datatable y el type del DTO. Primero el convertidor.
Lo primero que haremos sera crear una clase a la que yo llame DTOToDTT(DTO to Datatable) y Crearemos una funcion que yo llame ToDTT que tendra como variable un Object y el valor de retorno sera el datatable, y vamos a utilizar la misma logica con reflection la cosa de momento queda asi.
A continuación vamos trazar los siguientes pasos para no liarnos, de tal forma que quedara una secuencia logica.
1 Columnas y tipo de dato
2 Datos
Creamos el datatable y vamos a empezar a crear las columnas a traves del reflection, yo lo desglosare y saldrán mas lineas de codigo pero se puede hacer en 1 linea por cada columna del datatable.
Visual Basic .NET
1
2
3
4
5
6
DimDt AsNewDataTable
For Each Pr AsPropertyInfo In DTOs(0).GetType.GetProperties
DimNombreColumna=Pr.Name
DimTipoDato AsType=Pr.PropertyType
Dt.Columns.Add(NombreColumna,TipoDato)
Next
La cosa va facil no??, creo que no necesita mucha explicación.
Bueno y ahora a rellenar los datos. Para ello vamos a repetir parte de la logica anterior añadimos un For para recorrer el Array y vamos creando los rows, como dije antes, lo voy a desglosar para que se entienda mejor,pero se puede hacer en menos lineas.
Visual Basic .NET
1
2
3
4
5
6
7
8
9
10
11
ForiAsInteger=0To DTOs.length-1
Dimdr AsDataRow
dr=Dt.NewRow
For Each pr AsPropertyInfo In DTOs(i).GetType.GetProperties
Esta página utiliza cookies y otras tecnologías para que podamos mejorar tu experiencia en nuestro sitio,Si permaneces en la web damos por hecho la aceptacion de dichas Cookies.: Más información.