ICloneable インターフェイス
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
クローン作成をサポートします。クローン作成とは、既存のインスタンスと同じ値で、クラスの新しいインスタンスを作成することです。
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() 呼び出し元は、予測可能な複製操作を実行するメソッドに依存できないため、パブリック API に実装しないことをお勧めします ICloneable 。
Clone() |
現在のインスタンスのコピーである新しいオブジェクトを作成します。 |
製品 | バージョン |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.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 |
.NET に関するフィードバック
.NET はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。