2010-02-26 19 views
5

Duplicar posibles:
Cloning objects in C#Copia C# objeto a lo largo con referencia

Tengo un objeto creado en C# decir Object1. Necesito hacer una copia de seguridad temporal de este objeto a otro objeto, por ejemplo, ObjectOriginal.

Sin embargo, si hago ObjectOriginal = Object1, cualquier cambio en Object 1 afectará a ObjectOriginal. ¿Cómo hago esto?

+0

eche un vistazo a http://stackoverflow.com/questions/78536/cloning-objects-in-c – rerun

Respuesta

2

Todo depende de lo que Object1 realmente es, es decir, se trata de un DataTable, una cadena, o algo completamente distinto ?

Por escrito:

object Object1 = new Thing(); 
object Object2 = Object1; 

Usted recibe una segunda referencia al objeto que ejemplarizado en la primera línea. Lo que hay que hacer es mirar a "cosa" y ver si tiene una copia, la copia o nombrado de manera similar método y el uso que:

object Object1 = new Thing(); 
object Object2 = Object1.Copy(); 

Por ejemplo, ofertas DataTable ambos métodos Clon copia y, en Copiar duplica tanto la estructura del DataTable y los datos y Clone solo duplican la estructura.

0

Si desea una copia de un objeto, la pregunta es siempre: ¿Qué tan profunda será la copia? ¿Qué debería pasar con los objetos dentro de mi objeto? ¿Deberían copiarse también y si es así, qué debería pasar con sus referencias?

Para obtener más información, tome en el punto de partida this blog post from Brad Abrams.

Cuestiones relacionadas