ICloneable Schnittstelle

Definition

Unterstützt das Klonen, wobei eine neue Instanz einer Klasse mit denselben Werten wie eine vorhandene Instanz erstellt wird.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
Abgeleitet
Attribute

Hinweise

Die ICloneable -Schnittstelle ermöglicht es Ihnen, eine angepasste-Implementierung bereitzustellen, die eine Kopie eines vorhandenen Objekts erstellt.The ICloneable interface enables you to provide a customized implementation that creates a copy of an existing object. Die ICloneable -Schnittstelle enthält einen Member Clone , die-Methode, die die Klon Unterstützung über das bereitstellen Object.MemberwiseClonesoll, das von bereitgestellt wird.The ICloneable interface contains one member, the Clone method, which is intended to provide cloning support beyond that supplied by Object.MemberwiseClone. Weitere Informationen zum Klonen, Tiefe und flache Kopien sowie Beispiele finden Sie unter der Object.MemberwiseClone -Methode.For more information about cloning, deep versus shallow copies, and examples, see the Object.MemberwiseClone method.

Hinweise für Ausführende

Die ICloneable -Schnittstelle erfordert lediglich, dass die Clone() Implementierung der-Methode eine Kopie der aktuellen Objektinstanz zurückgibt.The ICloneable interface simply requires that your implementation of the Clone() method return a copy of the current object instance. Es gibt nicht an, ob der Klon Vorgang eine tiefe Kopie, eine flache Kopie oder einen dazwischen ausgeführten Vorgang ausführt.It does not specify whether the cloning operation performs a deep copy, a shallow copy, or something in between. Außerdem müssen nicht alle Eigenschaftswerte der ursprünglichen Instanz in die neue-Instanz kopiert werden.Nor does it require all property values of the original instance to be copied to the new instance. Die Clone() -Methode führt z. b. eine flache Kopie aller Eigenschaften mit IsReadOnly Ausnahme der-Eigenschaft aus, und legt diesen false Eigenschafts Wert immer im geklonten-Objekt auf fest.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. Da Aufrufer von Clone() nicht von der Methode abhängen können, die einen vorhersagbaren ICloneable Klon Vorgang ausführt, wird empfohlen, dass Sie nicht in öffentlichen APIs implementiert werden.Because callers of Clone() cannot depend on the method performing a predictable cloning operation, we recommend that ICloneable not be implemented in public APIs.

Methoden

Clone()

Erstellt ein neues Objekt, das eine Kopie der aktuellen Instanz darstellt.Creates a new object that is a copy of the current instance.

Gilt für:

Siehe auch