ICloneable Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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 zapewnienie 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.MemberwiseCloneusługę . Aby uzyskać więcej informacji na temat klonowania, głębokiej i płytkiej 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ż wywołania elementu Clone() 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. |