ICloneable ICloneable ICloneable ICloneable Interface

定義

クローン作成をサポートします。クローン作成とは、既存のインスタンスと同じ値で、クラスの新しいインスタンスを作成することです。Supports cloning, which creates a new instance of a class with the same value as an existing instance.

public interface class ICloneable
[System.Runtime.InteropServices.ComVisible(true)]
public interface ICloneable
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メソッドである1つのメンバーが含まれています。これは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() Clone() Clone() Clone()

現在のインスタンスのコピーである新しいオブジェクトを作成します。Creates a new object that is a copy of the current instance.

適用対象

こちらもご覧ください