MarshalByRefObject.MemberwiseClone(Boolean) MarshalByRefObject.MemberwiseClone(Boolean) MarshalByRefObject.MemberwiseClone(Boolean) MarshalByRefObject.MemberwiseClone(Boolean) Method

Definición

Crea una copia superficial del objeto actual.Creates a shallow copy of the current object.

Crea una copia superficial del objeto MarshalByRefObject actual.Creates a shallow copy of the current MarshalByRefObject object.

protected:
 MarshalByRefObject ^ MemberwiseClone(bool cloneIdentity);
protected MarshalByRefObject MemberwiseClone (bool cloneIdentity);
override this.MemberwiseClone : bool -> MarshalByRefObject
Protected Function MemberwiseClone (cloneIdentity As Boolean) As MarshalByRefObject

Parámetros

cloneIdentity
Boolean Boolean Boolean Boolean

false para eliminar la identidad actual del objeto MarshalByRefObject, que provocará la asignación de una nueva identidad al objeto cuando se calculan sus referencias a través de un límite de comunicación remota.false to delete the current MarshalByRefObject object's identity, which will cause the object to be assigned a new identity when it is marshaled across a remoting boundary. El valor false suele ser el adecuado.A value of false is usually appropriate. Es true para copiar la identidad actual del objeto MarshalByRefObject en su copia, que hará que las llamadas del cliente de comunicación remota se enruten al objeto del servidor remoto.true to copy the current MarshalByRefObject object's identity to its clone, which will cause remoting client calls to be routed to the remote server object.

Devoluciones

Copia superficial del objeto MarshalByRefObject actual.A shallow copy of the current MarshalByRefObject object.

Comentarios

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.The MemberwiseClone(Boolean) method creates a shallow copy by creating a new MarshalByRefObject object, and then copying the nonstatic fields of the current MarshalByRefObject object to the new object. Si un campo es un tipo de valor, se realiza una copia bit a bit del campo.If a field is a value type, a bit-by-bit copy of the field is performed. Si un campo es un tipo de referencia, se copia la referencia, pero el objeto que se hace referencia no; es por lo tanto, el objeto original y su clon hacen referencia al mismo objeto.If a field is a reference type, the reference is copied but the referred object is not; therefore, the original object and its clone refer to the same object.

Por ejemplo, considere un MarshalByRefObject objeto denominado X que hace referencia a objetos A y B. objeto B, a su vez, hace referencia a objeto C. Una copia superficial de X crea el nuevo objeto X2 que también hace referencia a objetos A y B. En cambio, 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 objeto nuevo C2, que es una copia C. utilizar una clase que implementa el ICloneable interfaz para realizar una profunda o superficial c copiar de un objeto.For example, consider a MarshalByRefObject object called X that references objects A and B. Object B, in turn, references object C. A shallow copy of X creates new object X2 that also references objects A and B. In contrast, a deep copy of X creates a new object X2 that references the new objects A2 and B2, which are copies of A and B. B2, in turn, references the new object C2, which is a copy C. Use a class that implements the ICloneable interface to perform a deep or shallow copy of an object.

La identidad de un MarshalByRefObject objeto se define como el objeto de servidor remoto que es el destino de una llamada de cliente de comunicación remota.The identity of a MarshalByRefObject object is defined as the remote server object that is the target of a remoting client call. De forma predeterminada, el clon miembro a miembro de un MarshalByRefObject objeto tiene la misma identidad que el objeto original, que normalmente no es el comportamiento correcto para clones de los objetos de servidor que se serializan en un límite de comunicación remota en el lado del cliente.By default, the memberwise clone of a MarshalByRefObject object has the same identity as the original object, which is typically not the correct behavior for clones of server-side objects that are marshaled across a remoting boundary to the client side. Especificar false, que normalmente es adecuado, eliminar la identidad del clon y provocar una nueva identidad que se asignará 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.Specify false, which is usually appropriate, to delete the identity of the clone and cause a new identity to be assigned when the clone is marshaled across a remoting boundary, or true to cause the clone to retain the identity of the original MarshalByRefObject object. El MemberwiseClone(Boolean) método está pensado para usarse por desarrolladores que implementan objetos del servidor remoto.The MemberwiseClone(Boolean) method is intended to be used by developers implementing remote server objects.

Se aplica a