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

定義

現在のオブジェクトの簡易コピーを作成します。Creates a shallow copy of the current object.

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。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

パラメーター

cloneIdentity
Boolean Boolean Boolean Boolean

false を指定すると、現在の MarshalByRefObject オブジェクトの ID が削除されます。これにより、このオブジェクトがリモート処理の境界を越えてマーシャリングされるときに、新しい ID が割り当てられることになります。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. 通常は、値 false が適しています。A value of false is usually appropriate. true を指定した場合は、現在の MarshalByRefObject オブジェクトの ID がその複製にコピーされます。これにより、リモート処理クライアントの呼び出しは、リモート サーバー オブジェクトにルーティングされることになります。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.

戻り値

現在の MarshalByRefObject オブジェクトの簡易コピー。A shallow copy of the current MarshalByRefObject object.

注釈

MemberwiseClone(Boolean)メソッドは、新しいを作成することによって簡易コピーを作成MarshalByRefObjectオブジェクト、および現在の非静的フィールドをコピーし、MarshalByRefObjectオブジェクトを新しいオブジェクト。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. フィールドが値型の場合は、フィールドのビットごとのコピーが実行されます。If a field is a value type, a bit-by-bit copy of the field is performed. フィールドが参照型の場合は、参照がコピーされますが、参照先オブジェクトがないです。そのため、元のオブジェクトとその複製は、同じオブジェクトを参照します。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.

たとえば、MarshalByRefObjectオブジェクト A と B を参照する X と呼ばれるオブジェクトは、代わりに、オブジェクト C を参照X の簡易コピーは、オブジェクト A と B を参照する新しいオブジェクト X2 を作成します。これに対し、X の詳細コピーが A2 および B2、A のコピーは、新しいオブジェクトを参照する新しいオブジェクト X2 を作成し、B. B2、さらに、C. を実装するクラスを使用してコピーである新しいオブジェクト C2 を参照して、 ICloneable deep または shallow c を実行するインターフェイスオブジェクトのコピー。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.

Id、MarshalByRefObjectオブジェクトは、リモート処理クライアントの呼び出しの対象となっているリモート サーバー オブジェクトとして定義されます。The identity of a MarshalByRefObject object is defined as the remote server object that is the target of a remoting client call. 既定ではメンバーごとの複製をMarshalByRefObjectオブジェクトがありませんが、クライアント側のリモート処理境界を越えてマーシャ リングされるサーバー側オブジェクトのクローンの正しい動作では通常、元のオブジェクトと同じ id です。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. 指定false、これは、複製の id を削除し、複製は、リモート処理境界を越えてマーシャ リングするときに割り当てられる新しい id を通常、適切なまたはtrue 、元のidを保持するクローンが発生するにはMarshalByRefObjectオブジェクト。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. MemberwiseClone(Boolean)メソッドがリモート サーバー オブジェクトを実装する開発者が使用するものです。The MemberwiseClone(Boolean) method is intended to be used by developers implementing remote server objects.

適用対象