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 actual MarshalByRefObject objeto.

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

protected MarshalByRefObject MemberwiseClone(
	bool cloneIdentity
)

Parámetros

cloneIdentity
Type: System.Boolean

false Para eliminar actual MarshalByRefObject la identidad del objeto, lo que hará que el objeto que se asignará una nueva identidad cuando se calculan las referencias a través de un límite de comunicación remota. Un valor de false normalmente es adecuado. true Para 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 actual MarshalByRefObject objeto.

El MemberwiseClone(Boolean) método crea una copia superficial mediante la creación de un nuevo MarshalByRefObject de objetos y, a continuación, copiar los campos no estáticos del 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, se copia la referencia pero el objeto que se hace referencia no; por lo tanto, el objeto original y su copia hacen referencia al mismo objeto.

Por ejemplo, considere un MarshalByRefObject objeto denominado X que hace referencia a objetos A y 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. Sin embargo, una copia en profundidad de X crea un nuevo objeto X2 que hace referencia a los nuevos objetos A2 y B2, que son copias 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 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 copias de objetos de 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 para asignarse cuando se serializa el clon en 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 desarrolladores que implementan objetos del servidor remoto.

.NET Framework
Disponible desde 2.0
Volver al principio
Mostrar: