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 oggetto e quindi copiando i campi non statici dell'oggetto corrente MarshalByRefObject nel 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 di riferimento, il riferimento viene copiato ma l'oggetto di riferimento non lo è. Pertanto, l'oggetto originale e il relativo clone fanno 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, MarshalByRefObject ad esempio, un oggetto denominato X che fa riferimento agli oggetti a e b. l'oggetto b, a sua volta, fa riferimento all'oggetto C. Una copia superficiale di X crea un nuovo oggetto X2 che fa riferimento anche agli oggetti A e B. Al contrario, una copia completa di X crea un nuovo oggetto X2 che fa riferimento ai nuovi oggetti a2 e B2, che sono copie di a e B. B2, a sua volta, fa riferimento al nuovo oggetto C2, che è una copia c. utilizzare una classe ICloneable che implementi l'interfaccia per eseguire un'operazione c profonda o superficiale OPY 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 definita come l'oggetto server remoto che è la destinazione di una chiamata client remota.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 di membro per membro MarshalByRefObject di un oggetto ha la stessa identità dell'oggetto originale, che in genere non è il comportamento corretto per i cloni di oggetti lato server sottoposti a marshalling attraverso un limite di comunicazione remota al 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, che in genere è appropriato, eliminare l'identità del clone e fare in modo che una nuova identità venga assegnata quando viene effettuato il marshalling del clone attraverso un true limite remoto oppure per fare in modo che il clone mantenga l'identità dell'originale MarshalByRefObject oggetto.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 remoti.The MemberwiseClone(Boolean) method is intended to be used by developers implementing remote server objects.

Si applica a