MarshalByRefObject.MemberwiseClone(Boolean) Méthode

Définition

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

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

La MemberwiseClone(Boolean) méthode crée une copie superficielle en créant un nouvel MarshalByRefObject objet, puis en copiant les champs non statiques de l' MarshalByRefObject objet actuel 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, imaginez un MarshalByRefObject objet appelé X qui fait référence aux objets a et b. l’objet b, à son tour, fait référence à l’objet C. Une copie superficielle de X crée un nouvel objet x2 qui référence également les 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, à son tour, fait référence au nouvel objet C2, qui est une copie c. Utilisez une classe qui ICloneable implémente l’interface pour effectuer un c profond ou superficiel opier 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éfinie en tant qu’objet serveur distant qui est la cible d’un appel 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 membre d' MarshalByRefObject un objet a la même identité que l’objet d’origine, ce qui n’est généralement pas le comportement correct pour les clones d’objets côté serveur qui sont marshalés à travers une limite de communication à distance du 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, ce qui est généralement approprié, pour supprimer l’identité du clone et provoquer l’affectation d’une nouvelle identité lorsque le clone est marshalé à travers une limite true de communication à distance, ou pour faire en sorte 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. La MemberwiseClone(Boolean) méthode est destinée à être utilisée par les développeurs qui implémentent des objets serveur distants.The MemberwiseClone(Boolean) method is intended to be used by developers implementing remote server objects.

S’applique à