Clonación de objetos de estructura compleja

Introducción:
La asignación de una variable en otra, de tipos complejos, como son la mayoría de los objetos instanciados de clases del .NET Framework o clases desarrollados por nosotros, dan por resultado dos variables referenciando al mismo objeto. Este concepto es conocido en otros lenguajes de programación como punteros.

Siendo así que al modificar el atributo de un objeto apuntado por dos variables, veremos reflejados el cambio en ambas variables, ya que las dos apuntan a la misma instancia de la clase. Es decir el objeto vive en memoria una vez sola y tiene dos variables que apuntan a él. Por circunstancias de las reglas de negocio es necesario a veces obtener una copia en memoria de un objeto, teniendo así dos variables apuntando a 2 objetos distintos que contienen los mismos valores.

Como todos los tipos  que desarrollamos en.NET son serializables, podemos usar serialización de objetos para clonarlos. A continuación veremos un ejemplo donde utilizamos la técnica de seralización de un objeto en un espacio de memoria adicional o MemoryStream, y creamos una copia del objeto deserializandolo en una nueva instancia.

Artículo completo...

Published Monday, October 29, 2007 12:31 PM by cwalzer
Filed under: ,

Leave a Comment

(required) 
(required) 
(optional)
(required) 
Powered by Community Server (Commercial Edition), by Telligent Systems