MarshalByRefObject.MemberwiseClone(Boolean) Method

Definition

현재 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

Parameters

cloneIdentity
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.

Returns

MarshalByRefObject

MarshalByRefObject 개체의 단순 복사본입니다.A shallow copy of the current MarshalByRefObject object.

Remarks

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.

예를 들어 개체 A와 B를 참조 하는 X 라는 MarshalByRefObject 개체를 사용 하는 것이 좋습니다. 개체 B는 개체 C를 참조 합니다. X의 단순 복사본은 A 및 B 개체를 참조 하는 새 개체 X2를 만듭니다. 반면, X의 전체 복사본은 A 및 B의 복사본 인 새 개체 m 3과 B2를 참조 하는 새 개체 X2를 만듭니다. 즉, A와 B의 복사본 인 새 개체 C2를 참조 하는 새 개체는 C 복사본입니다. ICloneable 인터페이스를 구현 하는 클래스를 사용 하 여 개체의 전체 또는 부분 복사를 수행 합니다.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.

MarshalByRefObject 개체의 id는 원격 클라이언트 호출의 대상인 원격 서버 개체로 정의 됩니다.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가 할당 되 게 하거나 복제본이 원래 MarshalByRefObject 개체의 id를 유지 하도록 true 합니다.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.

Applies to