Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

MarshalByRefObject.MemberwiseClone-Methode: (Boolean)

 

Veröffentlicht: Oktober 2016

Erstellt eine flache Kopie des aktuellen MarshalByRefObject Objekt.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

protected MarshalByRefObject MemberwiseClone(
	bool cloneIdentity
)

Parameter

cloneIdentity
Type: System.Boolean

falseSo löschen Sie die aktuelle MarshalByRefObject die Identität des Objekts, wodurch das Objekt, das eine neue Identität zugewiesen werden, wenn sie über eine Remotegrenze gemarshallt wird. Ein Wert von false ist normalerweise sinnvoll. trueSo kopieren Sie die aktuelle MarshalByRefObject Objektidentität in dessen Klon, wodurch Client Remoteaufrufe an den Remoteserver-Objekt weitergeleitet werden.

Rückgabewert

Type: System.MarshalByRefObject

Eine flache Kopie des aktuellen MarshalByRefObject Objekt.

Die MemberwiseClone(Boolean) Methode erstellt eine flache Kopie durch Erstellen eines neuen MarshalByRefObject -Objekt, und kopieren Sie die nicht statischen Felder des aktuellen MarshalByRefObject -Objekt, das neue Objekt. Wenn ein Feld ein Werttyp ist, erfolgt eine Bit für Bit-Kopie des Felds. Wenn ein Feld ein Verweistyp ist, wird der Verweis kopiert, aber das referenzierte Objekt ist nicht; das ursprüngliche Objekt und dessen Klon sich daher auf das gleiche Objekt beziehen.

Betrachten Sie beispielsweise eine MarshalByRefObject x, Objekte A und B, verweist, das Objekt verweist wiederum auf Objekt C. Eine flache Kopie von X erstellt neue Objekt X2, das auch Objekte A und b verweist Im Gegensatz dazu eine tiefe Kopie von X erstellt ein neues Objekt X2, die verweist auf die neuen Objekte A2 und B2, die Kopien von A und b B2 verweist wiederum auf das neue Objekt C2, der eine Kopie C. Verwenden einer Klasse implementiert die ICloneable Schnittstelle, um eine tief oder flach Kopie eines Objekts auszuführen.

Die Identität des ein MarshalByRefObject Objekt ist als der Remoteserver-Objekt, das das Ziel eines Aufrufs der Remoting-Client ist definiert. Wird standardmäßig die memberspezifische Kopie einer MarshalByRefObject Objekt hat die gleiche Identität wie das ursprüngliche Objekt, die in der Regel nicht das richtige Verhalten nach Klonen dieses serverseitige Objekte, die über eine Remotegrenze mit dem clientseitigen gemarshallt werden. Geben Sie false, also normalerweise sinnvoll, die Identität des Klons zu löschen und eine neue Identität zugewiesen werden, wenn der Klon über eine Remotegrenze gemarshallt wird oder true , sodass den Klon die Identität des ursprünglichen beibehalten MarshalByRefObject Objekt. Die MemberwiseClone(Boolean) Methode von Entwicklern zum Implementieren von remote-Server-Objekte verwendet werden soll.

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: