ICloneable 인터페이스

정의

복제(클래스에서 기존 인스턴스와 같은 값을 갖는 새 인스턴스를 만듦)를 지원합니다.Supports cloning, which creates a new instance of a class with the same value as an existing instance.

public interface class ICloneable
public interface ICloneable
[System.Runtime.InteropServices.ComVisible(true)]
public interface ICloneable
type ICloneable = interface
[<System.Runtime.InteropServices.ComVisible(true)>]
type ICloneable = interface
Public Interface ICloneable
파생
특성

설명

ICloneable인터페이스를 사용 하면 기존 개체의 복사본을 만드는 사용자 지정 구현을 제공할 수 있습니다.The ICloneable interface enables you to provide a customized implementation that creates a copy of an existing object. 인터페이스에는 ICloneable Clone 에서 제공 하는 것 이상으로의 복제 지원을 제공 하기 위해 사용 되는 메서드인 멤버가 하나 포함 되어 있습니다 Object.MemberwiseClone .The ICloneable interface contains one member, the Clone method, which is intended to provide cloning support beyond that supplied by Object.MemberwiseClone. 복제, 깊이 및 부분 복사본 및 예제에 대 한 자세한 내용은 메서드를 참조 하세요 Object.MemberwiseClone .For more information about cloning, deep versus shallow copies, and examples, see the Object.MemberwiseClone method.

구현자 참고

ICloneable인터페이스를 사용 하려면 Clone() 메서드의 구현이 현재 개체 인스턴스의 복사본을 반환 하기만 하면 됩니다.The ICloneable interface simply requires that your implementation of the Clone() method return a copy of the current object instance. 복제 작업에서 전체 복사를 수행할지, 단순 복사본을 수행할지 아니면 사이에 다른 항목을 수행할지를 지정 하지 않습니다.It does not specify whether the cloning operation performs a deep copy, a shallow copy, or something in between. 또한 원래 인스턴스의 모든 속성 값을 새 인스턴스로 복사 하지 않아도 됩니다.Nor does it require all property values of the original instance to be copied to the new instance. 예를 들어 메서드는 속성을 제외 하 고 Clone() 모든 속성의 단순 복사를 수행 IsReadOnly 합니다. 복제 된 개체에서 항상이 속성 값을로 설정 false 합니다.For example, the Clone() method performs a shallow copy of all properties except the IsReadOnly property; it always sets this property value to false in the cloned object. 의 호출자는 Clone() 예측 가능한 복제 작업을 수행 하는 메서드에 종속 될 수 없으므로 ICloneable 공용 api에서 구현 하지 않는 것이 좋습니다.Because callers of Clone() cannot depend on the method performing a predictable cloning operation, we recommend that ICloneable not be implemented in public APIs.

메서드

Clone()

현재 인스턴스의 복사본인 새 개체를 만듭니다.Creates a new object that is a copy of the current instance.

적용 대상

추가 정보