Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo MarshalByRefObject.MemberwiseClone (Boolean)

 

Data di pubblicazione: ottobre 2016

Crea una copia superficiale dell'oggetto corrente MarshalByRefObject oggetto.

Spazio dei nomi:   System
Assembly:  mscorlib (in mscorlib.dll)

protected MarshalByRefObject MemberwiseClone(
	bool cloneIdentity
)

Parametri

cloneIdentity
Type: System.Boolean

false Per eliminare l'oggetto corrente MarshalByRefObject identità dell'oggetto, che provoca l'oggetto da assegnare una nuova identità quando viene sottoposto a marshalling oltre i limiti remoti. Il valore false è in genere appropriato. true Per copiare corrente MarshalByRefObject identità dell'oggetto per il clone, che provoca chiamate del client .NET remoting essere indirizzato all'oggetto server remoto.

Valore restituito

Type: System.MarshalByRefObject

Una copia superficiale dell'oggetto corrente MarshalByRefObject oggetto.

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. Se un campo è un tipo di valore, viene eseguita una copia bit per bit del campo. Se un campo è un tipo di riferimento, il riferimento viene copiato ma l'oggetto cui viene fatto riferimento non; Pertanto, l'oggetto originale e il suo clone fare riferimento allo stesso oggetto.

Si consideri ad esempio un MarshalByRefObject oggetto chiamato X che fa riferimento agli oggetti a e B, a sua volta, fa riferimento all'oggetto C. Una copia superficiale di X Crea nuovo oggetto X2 che fa anche riferimento 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 e B. B2, a sua volta, fa riferimento il nuovo oggetto C2, che è una copia C. utilizzare una classe che implementa il ICloneable interfaccia per eseguire una copia completa o superficiale di un oggetto.

L'identità di un MarshalByRefObject oggetto viene definito come oggetto del server remoto che è la destinazione di una chiamata del client .NET remoting. Per impostazione predefinita, il clone di un MarshalByRefObject oggetto ha la stessa identità dell'oggetto originale, che non è in genere il comportamento corretto per i cloni degli oggetti del lato server che vengono sottoposti a marshalling oltre i limiti remoti sul lato client. Specificare false, che è in genere appropriato, per eliminare l'identità del clone e causare una nuova identità per l'assegnazione quando viene sottoposto a marshalling oltre i limiti remoti, il clone o true a causare il clone mantenere l'identità dell'originale MarshalByRefObject oggetto. Il MemberwiseClone(Boolean) metodo è destinato a essere utilizzato dagli sviluppatori che implementano oggetti del server remoto.

.NET Framework
Disponibile da 2.0
Torna all'inizio
Mostra: