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 インターフェイスには、Clone メソッドという 1 つのメンバーが含まれています。これは、Object.MemberwiseCloneによって提供されるメンバー以外の複製サポートを提供することを目的としています。 複製、ディープ コピーと浅いコピー、および例の詳細については、 Object.MemberwiseClone メソッドを参照してください。

注意 (実装者)

ICloneable インターフェイスでは、Clone() メソッドの実装が現在のオブジェクト インスタンスのコピーを返す必要があります。 複製操作でディープ コピー、浅いコピー、またはその間の何かを実行するかどうかは指定されません。 また、元のインスタンスのすべてのプロパティ値を新しいインスタンスにコピーする必要もありません。 たとえば、 Clone() メソッドは、 IsReadOnly プロパティを除くすべてのプロパティの簡易コピーを実行します。このプロパティ値は、常に複製されたオブジェクトの false に設定されます。 Clone()の呼び出し元は予測可能な複製操作を実行するメソッドに依存できないため、ICloneableパブリック API には実装しないことをお勧めします。

メソッド

名前 説明
Clone()

現在のインスタンスのコピーである新しいオブジェクトを作成します。

適用対象

こちらもご覧ください