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

Définition

Crée une copie superficielle de l'objet actuel.Creates a shallow copy of the current object.

Crée une copie superficielle de l'objet MarshalByRefObject actuel.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

Paramètres

cloneIdentity
Boolean Boolean Boolean Boolean

false pour supprimer l'identité de l'objet MarshalByRefObject actuel, ce qui provoque l'assignation d'une nouvelle identité à l'objet lorsqu'il est marshalé au-delà d'une limite de communication à distance.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. La valeur false est généralement appropriée.A value of false is usually appropriate. true pour copier l'identité de l'objet MarshalByRefObject actuel vers son clone, ce qui entraîne le routage des appels de clients de communication à distance vers l'objet serveur distant.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.

Retours

Copie superficielle de l'objet MarshalByRefObject actuel.A shallow copy of the current MarshalByRefObject object.

Remarques

Le MemberwiseClone(Boolean) méthode crée une copie superficielle en créant un nouveau MarshalByRefObject de l’objet, puis en copiant les champs non statiques de l’actuel MarshalByRefObject objet vers le nouvel objet.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 champ est un type valeur, une copie bit par bit du champ est effectuée.If a field is a value type, a bit-by-bit copy of the field is performed. Si un champ est un type référence, la référence est copiée, mais l’objet référencé n’est pas. Par conséquent, l’objet d’origine et son clone font référence au même objet.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.

Par exemple, considérez un MarshalByRefObject objet appelé X qui référence des objets A et B, à son tour, fait référence à l’objet C. Une copie superficielle de X crée le nouvel objet X2 qui référence également des objets A et B. En revanche, une copie complète de X crée un nouvel objet X2 qui référence les nouveaux objets A2 et B2, qui sont des copies de A et B. B2 référence à son tour, le nouvel objet C2, qui est une copie C. Utilisez une classe qui implémente le ICloneable interface pour effectuer un profondeur ou superficiellement c copier d’un objet.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.

L’identité d’un MarshalByRefObject objet est défini comme l’objet serveur distant qui est la cible d’un appel de client de communication à distance.The identity of a MarshalByRefObject object is defined as the remote server object that is the target of a remoting client call. Par défaut, le clone memberwise d’un MarshalByRefObject objet a la même identité que l’objet d’origine, ce qui n’est généralement pas le comportement correct des clones d’objets côté serveur qui sont marshalées sur une limite de communication à distance vers le côté client.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. Spécifiez false, qui est généralement approprié, pour supprimer l’identité du clone et de provoquer une nouvelle identité d’être affectées lorsque le clone est marshalé au-delà d’une limite de communication à distance, ou true pour que le clone conserve l’identité de l’original MarshalByRefObject objet.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. Le MemberwiseClone(Boolean) méthode est destinée à être utilisée par les développeurs qui implémentent des objets de serveur distant.The MemberwiseClone(Boolean) method is intended to be used by developers implementing remote server objects.

S’applique à