Esporta (0) Stampa
Espandi tutto

Metodo MarshalByRefObject.MemberwiseClone (Boolean)

Aggiornamento: novembre 2007

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

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

protected MarshalByRefObject MemberwiseClone(
	bool cloneIdentity
)
protected MarshalByRefObject MemberwiseClone(
	boolean cloneIdentity
)
protected function MemberwiseClone(
	cloneIdentity : boolean
) : MarshalByRefObject

Parametri

cloneIdentity
Tipo: System.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. Un valore di false è in genere appropriato. true per eseguire la copia dell'identità dell'oggetto MarshalByRefObject nel rispettivo clone, che provoca l'indirizzamento al server dell'oggetto remoto delle chiamate provenienti dal client remoto.

Valore restituito

Tipo: System.MarshalByRefObject
Copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

Il metodo MarshalByRefObject.MemberwiseClone(Boolean) produce una copia dei riferimenti creando un nuovo oggetto MarshalByRefObject e quindi copiando i campi non static dell'oggetto MarshalByRefObject corrente nel nuovo oggetto. Qualora un campo sia un tipo di valore, viene eseguita una copia bit per bit del campo. Qualora un campo sia un tipo di riferimento, viene copiato il riferimento ma non l'oggetto a cui si fa riferimento, pertanto l'oggetto originale e il rispettivo clone faranno riferimento allo stesso oggetto.

Si consideri ad esempio un oggetto MarshalByRefObject chiamato X che fa riferimento agli oggetti A e B. L'oggetto B fa a sua volta riferimento all'oggetto C. Tramite una copia dei riferimenti di X viene creato un nuovo oggetto X2 che fa sempre riferimento agli oggetti A e B. Tramite una copia completa di X viene invece creato un nuovo oggetto X2, che fa riferimento ai nuovi oggetti A2 e B2, copie di A e B. B2, di conseguenza, farà riferimento al nuovo oggetto C2, che è una copia di C. Per eseguire una copia dei riferimenti o una copia completa di un oggetto, utilizzare una classe che implementi l'interfaccia ICloneable.

L'identità di un oggetto MarshalByRefObject viene definita come l'oggetto del server remoto che costituisce la destinazione della chiamata di un client remoto. Per impostazione predefinita, il clone membro di un oggetto MarshalByRefObject ha la stessa identità dell'oggetto originale, che non rappresenta in genere il comportamento corretto per i cloni degli oggetti del lato server sottoposti a marshaling oltre un limite remoto del lato client. Specificare false, che è in genere appropriato, per eliminare l'identità del clone e causare l'assegnazione di una nuova identità durante il marshaling del clone oltre un limite remoto o true per stabilire per il clone la conservazione dell'identità dell'oggetto originale MarshalByRefObject. Il metodo MarshalByRefObject.MemberwiseClone è riservato per l'utilizzo da parte degli sviluppatori che implementano oggetti del server remoto.

Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition , Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

.NET Framework e .NET Compact Framework non supportano tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

.NET Framework

Supportato in: 3.5, 3.0, 2.0

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft