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

Definizione

Crea una copia superficiale dell'oggetto corrente.Creates a shallow copy of the current object.

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.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

Parametri

cloneIdentity
Boolean Boolean Boolean Boolean

false per eliminare l'identità dell'oggetto MarshalByRefObject corrente, che provoca l'assegnazione di una nuova identità all'oggetto se sottoposto a marshaling oltre un limite remoto.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. Il valore false in genere è appropriato.A value of false is usually appropriate. true per eseguire la copia dell'identità dell'oggetto MarshalByRefObject nel rispettivo duplicato, che provoca l'indirizzamento al server dell'oggetto remoto delle chiamate provenienti dal client 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.

Restituisce

Copia dei riferimenti dell'oggetto MarshalByRefObject corrente.A shallow copy of the current MarshalByRefObject object.

Commenti

Il MemberwiseClone(Boolean) metodo crea una copia superficiale creando un nuovo MarshalByRefObject dell'oggetto e quindi copiando i campi non statici della classe corrente MarshalByRefObject oggetto al nuovo oggetto.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. Se un campo è un tipo di valore, viene eseguita una copia bit per bit del campo.If a field is a value type, a bit-by-bit copy of the field is performed. Se un campo è un tipo riferimento, il riferimento è copiato ma l'oggetto di cui viene fatto riferimento non; Pertanto, l'oggetto originale e il suo clone fare riferimento allo stesso oggetto.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.

Si consideri, ad esempio, un MarshalByRefObject oggetto denominato X che fa riferimento a oggetti A e B, a sua volta, fa riferimento all'oggetto C. Una copia superficiale di X Crea nuovo oggetto X2 che fa riferimento anche a oggetti A e B. Al contrario, una copia completa di X crea un nuovo oggetto X2 che fa riferimento a nuovi oggetti A2 e B2, che sono copie di un e B2 B., a sua volta, fa riferimento il nuovo oggetto C2, ovvero una copia C. usare una classe che implementa il ICloneable interfaccia per eseguire un c completo o superficiale copia di un oggetto.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à di un MarshalByRefObject oggetto viene definito come oggetto del server remoto che è la destinazione di una chiamata del client .NET remoting.The identity of a MarshalByRefObject object is defined as the remote server object that is the target of a remoting client call. Per impostazione predefinita, il clone membro di un MarshalByRefObject oggetto ha la stessa identità dell'oggetto originale, che non è in genere il comportamento corretto per i cloni degli oggetti sul lato server che vengono effettuato il marshalling attraverso un limite di comunicazione remota sul lato 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. Specificare false, in genere appropriati eliminare l'identità del clone e causare una nuova identità da assegnare quando il clone viene sottoposto a marshalling attraverso un limite di .NET remoting, o true per fare in modo il clone mantenere l'identità dell'oggetto originale MarshalByRefObject oggetti.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. Il MemberwiseClone(Boolean) metodo è destinato a essere utilizzato dagli sviluppatori che implementano oggetti server remoto.The MemberwiseClone(Boolean) method is intended to be used by developers implementing remote server objects.

Si applica a