Copiar un objeto..

02/09/2004 - 14:43 por Kravek | Informe spam
Como se puede copiar un objeto en otro?ojo, no quiero no asignar la misma
referencia sino crear un objeto nuevo COPIA del 1º, es el primer proyecto
serio que hago para winapplication y claro estos problemas con ASP son raros
(pues no sueles tener tantos objetos en memoria y los recargas por
página...)

Sí puede ser algún trozo de código que sólo deba escribir una vez mejor pues
ahora lo estoy haciendo inventandome un método copy pero claro esto es muy
trabajoso pues lo tengo que repetir y particularizar para cada objeto
 

Leer las respuestas

#1 Tristan
02/09/2004 - 16:17 | Informe spam
La forma que estás utilizando es la única. No hay ninguna forma de duplicar
objetos, ni en .net, ni en ningún entorno OO que conozca. Entre otras
razones, depende de las necesidades concretas cual debe ser el grado de
profundidad de copia. No habría ninguna forma genérica válida.

Por ejemplo, imagina que clonas un botón. ¿Cual sería el valor de la
propiedad Handle?. ¿El mismo?. Imposible, dos ventanas con el mismo handle
serían la misma. Habría muchas situaciones incoherentes como esta. Por eso
la implementación del duplicado de objetos la debe escribir el programador
de la clase.

De lo que dispones es de la interface ICloneable, que debes implementar en
objetos que necesitan poder ser clonados. Además, todos los objetos disponen
del método (protegido) MemberwiseClone, que realiza una copia superficial
del objeto.

Juan Carlos Badiola
MVP - C#

Preguntas similares