ICloneable ICloneable ICloneable ICloneable Interface

Definicja

Obsługuje klonowanie, które tworzy nowe wystąpienie klasy o takiej samej wartości jak istniejące wystąpienie.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
Pochodne
Atrybuty

Uwagi

ICloneable Interfejs umożliwia udostępnienie niestandardowej implementacji, która tworzy kopię istniejącego obiektu.The ICloneable interface enables you to provide a customized implementation that creates a copy of an existing object. Interfejs zawiera jeden element członkowski Clone , czyli metodę, która jest przeznaczona do zapewnienia obsługi klonowania poza podaną przez Object.MemberwiseClone. ICloneableThe ICloneable interface contains one member, the Clone method, which is intended to provide cloning support beyond that supplied by Object.MemberwiseClone. Aby uzyskać więcej informacji na temat klonowania, głębokiego i wielopłytkiowego kopiowania oraz Object.MemberwiseClone przykładów, zobacz metodę.For more information about cloning, deep versus shallow copies, and examples, see the Object.MemberwiseClone method.

Uwagi dotyczące implementowania

Interfejs po prostu wymaga, aby implementacja Clone() metody zwracała kopię bieżącego wystąpienia obiektu. ICloneableThe ICloneable interface simply requires that your implementation of the Clone() method return a copy of the current object instance. Nie określa to, czy operacja klonowania wykonuje kopię głęboką, replikę z płytkią lub coś między nimi.It does not specify whether the cloning operation performs a deep copy, a shallow copy, or something in between. Nie wymaga jednak, aby wszystkie wartości właściwości oryginalnego wystąpienia były kopiowane do nowego wystąpienia.Nor does it require all property values of the original instance to be copied to the new instance. Na przykład Clone() Metoda wykonuje skróconą kopię wszystkich właściwości, IsReadOnly z wyjątkiem właściwości. zawsze ustawia tę wartość właściwości na false w sklonowanym obiekcie.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. Ponieważ obiekty wywołujące Clone() nie mogą zależeć od metody wykonującej przewidywalną operację klonowania, ICloneable zaleca się, aby nie były zaimplementowane w publicznych interfejsach 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.

Metody

Clone() Clone() Clone() Clone()

Tworzy nowy obiekt, który jest kopią bieżącego wystąpienia.Creates a new object that is a copy of the current instance.

Dotyczy

Zobacz też