다음을 통해 공유


ICloneable 인터페이스

정의

복제(클래스에서 기존 인스턴스와 같은 값을 갖는 새 인스턴스를 만듦)를 지원합니다.

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 인터페이스를 사용하면 기존 개체의 복사본을 만드는 사용자 지정된 구현을 제공할 수 있습니다. 인터페이스에는 ICloneable 에서 제공하는 Object.MemberwiseClone것 이상으로 복제 지원을 제공하기 위한 하나의 멤버 Clone 인 메서드가 포함되어 있습니다. 복제, 심층 복사 및 단순 복사본 및 예제에 대한 자세한 내용은 메서드를 Object.MemberwiseClone 참조하세요.

구현자 참고

인터페이스는 ICloneable 메서드 구현이 현재 개체 인스턴스의 Clone() 복사본을 반환하도록 요구합니다. 복제 작업이 심층 복사, 단순 복사본 또는 그 사이에 있는 작업을 수행하는지 여부를 지정하지 않습니다. 또한 원래 인스턴스의 모든 속성 값을 새 인스턴스에 복사할 필요가 없습니다. 예를 들어 메서드는 Clone() 속성을 제외한 모든 속성의 단순 복사본을 IsReadOnly 수행합니다. 항상 복제된 개체에서 이 속성 값을 로 false 설정합니다. 의 Clone() 호출자는 예측 가능한 복제 작업을 수행하는 메서드에 의존할 수 없으므로 공용 API에서 구현하지 않는 것이 ICloneable 좋습니다.

메서드

Clone()

현재 인스턴스의 복사본인 새 개체를 만듭니다.

적용 대상

추가 정보