ICloneable Interfejs

Definicja

Obsługuje klonowanie, które tworzy nowe wystąpienie klasy o tej samej wartości co istniejące wystąpienie.

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
Pochodne
Atrybuty

Uwagi

Interfejs ICloneable umożliwia udostępnienie dostosowanej implementacji, która tworzy kopię istniejącego obiektu. Interfejs ICloneable zawiera jeden element członkowski, metodę Clone , która ma zapewnić obsługę klonowania poza elementem dostarczonym przez Object.MemberwiseCloneprogram . Aby uzyskać więcej informacji na temat klonowania, głębokich i płytkich kopii oraz przykładów, zobacz metodę Object.MemberwiseClone .

Uwagi dotyczące implementowania

Interfejs ICloneable wymaga po prostu, aby implementacja Clone() metody zwróciła kopię bieżącego wystąpienia obiektu. Nie określa, czy operacja klonowania wykonuje kopię głęboką, płytkią kopię, czy coś między nimi. Nie wymaga również skopiowania wszystkich wartości właściwości oryginalnego wystąpienia do nowego wystąpienia. Na przykład Clone() metoda wykonuje płytkią kopię wszystkich właściwości z wyjątkiem IsReadOnly właściwości; zawsze ustawia tę wartość właściwości na false w sklonowanym obiekcie. Ponieważ obiekty wywołujące Clone() programu nie mogą zależeć od metody wykonującej przewidywalną operację klonowania, zalecamy, aby ICloneable nie były implementowane w publicznych interfejsach API.

Metody

Clone()

Tworzy nowy obiekt, który jest kopią bieżącego wystąpienia.

Dotyczy

Zobacz też