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

Definition

Erstellt eine flache Kopie des aktuellen Objekts.Creates a shallow copy of the current object.

Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts.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

Parameter

cloneIdentity
Boolean Boolean Boolean Boolean

false zum Löschen der Identität des aktuellen MarshalByRefObject-Objekts. Dies führt dazu, dass dem Objekt eine neue Identität zugewiesen wird, wenn es über eine Remotegrenze gemarshallt wird.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. Der Wert false ist in der Regel geeignet.A value of false is usually appropriate. true, wenn die Identität des aktuellen MarshalByRefObject in dessen Klon kopiert werden soll. Das führt dazu, dass Remoteclient-Aufrufe an das Remoteserverobjekt weitergeleitet werden.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.

Gibt zurück

Eine flache Kopie des aktuellen MarshalByRefObject-Objekts.A shallow copy of the current MarshalByRefObject object.

Hinweise

Die MemberwiseClone(Boolean) Methode erstellt eine flache Kopie durch Erstellen eines neuen MarshalByRefObject Objekt, und klicken Sie dann die nicht statische Felder des aktuellen kopiert MarshalByRefObject Objekt, das das neue Objekt.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. Wenn ein Feld eines Werttyps ist, erfolgt eine Bit für Bit-Kopie des Felds.If a field is a value type, a bit-by-bit copy of the field is performed. Wenn ein Feld ein Verweistyp ist, wird der Verweis kopiert, aber das Objekt verwiesen wird, ist nicht; aus diesem Grund beziehen sich das ursprüngliche Objekt und dessen Klon auf dasselbe Objekt ein.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.

Betrachten Sie beispielsweise eine MarshalByRefObject Objekt mit dem Namen X, Objekte A und B, verweist, verweist wiederum auf die c-Objekt Eine flache Kopie des X erstellt neues Objekt X2, das auch Objekte A und b verweist Im Gegensatz dazu eine tiefe Kopie des 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 Tiefe oder flache c ausführen Kopieren eines Objekts.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.

Die Identität einer MarshalByRefObject Objekt ist als der Remoteserver-Objekt, das das Ziel eines Clientaufrufs Remoting ist definiert.The identity of a MarshalByRefObject object is defined as the remote server object that is the target of a remoting client call. Standardmäßig ist der memberspezifische Klon des eine MarshalByRefObject Objekt hat die gleiche Identität wie das ursprüngliche Objekt, in der Regel nicht das richtige Verhalten für Klone von serverseitigen Objekten, die über eine Remotegrenze auf der Clientseite gemarshallt werden.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. Geben Sie false, Dies eignet sich in der Regel, 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 , dazu führen, dass den Klon die Identität des ursprünglichen beibehaltenwerdensollen.MarshalByRefObject Objekt.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. Die MemberwiseClone(Boolean) Methode von Entwicklern zum Implementieren von remote-Server-Objekte verwendet werden soll.The MemberwiseClone(Boolean) method is intended to be used by developers implementing remote server objects.

Gilt für: