Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método MarshalByRefObject.MemberwiseClone (Boolean)

 

Publicado: octubre de 2016

Crea una copia superficial del elemento actual MarshalByRefObject objeto.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

protected MarshalByRefObject MemberwiseClone(
	bool cloneIdentity
)

Parámetros

cloneIdentity
Type: System.Boolean

falsePara eliminar este MarshalByRefObject la identidad del objeto, lo que hará que el objeto que se asignará una nueva identidad cuando se serializa en un límite de comunicación remota. Un valor de false suele ser adecuado. truePara copiar la actual MarshalByRefObject la identidad del objeto en su copia, que hará que las llamadas de cliente de comunicación remota se enruten al objeto del servidor remoto.

Valor devuelto

Type: System.MarshalByRefObject

Una copia superficial del elemento actual MarshalByRefObject objeto.

El MemberwiseClone(Boolean) método crea una copia superficial mediante la creación de un nuevo MarshalByRefObject objeto y, a continuación, copiar los campos no estáticos del elemento actual MarshalByRefObject objeto en el nuevo objeto. Si un campo es un tipo de valor, se realiza una copia bit a bit del campo. Si un campo es un tipo de referencia, la referencia se copia, pero el objeto que se hace referencia no; por lo tanto, el objeto original y su clon hacen referencia al mismo objeto.

Por ejemplo, considere un MarshalByRefObject objeto denominado X que hace referencia a objetos A y B. el objeto B, a su vez, hace referencia a objeto C. Una copia superficial de X crea nuevo objeto X2 que también hace referencia a objetos A y B. En contraste, una copia en profundidad de X crea un nuevo objeto X2 que hace referencia a los nuevos objetos A2 y B2, que son copias de A y B. B2, a su vez, hace referencia al nuevo objeto C2, que es una copia C. utilizar una clase que implementa el ICloneable interfaz para realizar una copia superficial de un objeto.

La identidad de un MarshalByRefObject objeto se define como el objeto de servidor remoto que es el destino de una llamada del cliente remoto. De forma predeterminada, el clon miembro a miembro de un MarshalByRefObject objeto tiene la misma identidad que el objeto original, que no suele ser el comportamiento correcto para clones de objetos del lado servidor que se serializan en un límite de comunicación remota para el lado del cliente. Especifique false, que normalmente es adecuado, para eliminar la identidad de la clonación y provocar una nueva identidad que se asignará cuando se serializa el clon a través de un límite de comunicación remota, o true para hacer que el clon conservar la identidad del original MarshalByRefObject objeto. El MemberwiseClone(Boolean) método está pensado para usarse por los desarrolladores que implementan objetos del servidor remoto.

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: