MarshalByRefObject.MemberwiseClone(Boolean) 메서드

정의

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

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

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 라는 개체가 있다고 가정 합니다. 개체 b는 개체 C를 참조 합니다. X의 단순 복사본은 A 및 B 개체를 참조 하는 새 개체 X2를 만듭니다. 반면, X의 전체 복사본은 A 및 B의 복사본 인 새 개체 m 3과 B2를 참조 하는 새 개체 X2를 만듭니다. 즉, A와 B의 복사본 인 새 개체 C2를 참조 합니다 .이 인터페이스를 구현 하는 클래스를 사용 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.

개체의 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.

적용 대상