英語で読む

次の方法で共有


ICloneable インターフェイス

定義

クローン作成をサポートします。クローン作成とは、既存のインスタンスと同じ値で、クラスの新しいインスタンスを作成することです。

C#
public interface ICloneable
C#
[System.Runtime.InteropServices.ComVisible(true)]
public interface ICloneable
派生
属性

注釈

ICloneableインターフェイスを使用すると、既存のオブジェクトのコピーを作成するカスタマイズされた実装を提供できます。 インターフェイスには ICloneableClone メソッドという 1 つのメンバーが含まれています。これは、 によって Object.MemberwiseClone提供される以外の複製サポートを提供することを目的としています。 複製、ディープ コピーとシャロー コピーの詳細、および例については、 メソッドを Object.MemberwiseClone 参照してください。

注意 (実装者)

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

メソッド

Clone()

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

適用対象

製品 バージョン
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

こちらもご覧ください