Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

MarshalByRefObject.MemberwiseClone méthode (Boolean)

 

Date de publication : novembre 2016

Crée une copie superficielle d’actuel MarshalByRefObject objet.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

protected MarshalByRefObject MemberwiseClone(
	bool cloneIdentity
)

Paramètres

cloneIdentity
Type: System.Boolean

falsesuppression en cours MarshalByRefObject identité de l’objet, ce qui provoque l’objet à attribuer une nouvelle identité lorsqu’il est marshalé sur une limite de communication à distance. La valeur false convient généralement. truePour copier en cours MarshalByRefObject identité de l’objet vers son clone, ce qui provoque des appels de clients distants être acheminé à l’objet de serveur distant.

Valeur de retour

Type: System.MarshalByRefObject

Une copie superficielle d’actuel MarshalByRefObject objet.

Le MemberwiseClone(Boolean) méthode crée une copie superficielle en créant un MarshalByRefObject de l’objet, puis en copiant les champs non statiques d’actuel MarshalByRefObject objet vers le nouvel objet. Si un champ est un type valeur, une copie bit par bit du champ est effectuée. 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.

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

L’identité d’un MarshalByRefObject objet est défini comme l’objet serveur distant qui est la cible d’un appel du client distant. Par défaut, le clone de type membre 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 marshalés sur une limite de communication à distance vers le côté client. Spécifiez false, qui est habituellement approprié, pour supprimer l’identité du clone et de provoquer une nouvelle identité soit assignée lors du marshaling du clone sur une limite de communication à distance, ou true pour que le clone conserve l’identité de l’original MarshalByRefObject objet. Le MemberwiseClone(Boolean) méthode est destinée à être utilisée par les développeurs qui implémentent des objets de serveur distant.

.NET Framework
Disponible depuis 2.0
Retour au début
Afficher: