ICloneable Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Поддерживает клонирование, которое создает новый экземпляр класса с тем же значением, что и существующий экземпляр.
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 метод, который предназначен для предоставления поддержки клонирования за пределами указанного Object.MemberwiseClone. Дополнительные сведения о клонирование, глубокие и неглубокие копии и примеры см. в этом методе Object.MemberwiseClone .
Примечания для тех, кто реализует этот метод
Интерфейс ICloneable просто требует, чтобы реализация Clone() метода возвращала копию текущего экземпляра объекта. Он не указывает, выполняет ли клонирование глубокую копию, неглубокое копирование или что-то между ними. Кроме того, не требуется копирование всех значений свойств исходного экземпляра в новый экземпляр. Например, метод выполняет неглубокую копию всех свойств, кроме IsReadOnly свойства. Он Clone() всегда задает значение false этого свойства в клонируемом объекте. Так как вызывающие элементы Clone() не могут зависеть от метода, выполняющего прогнозируемую операцию клонирования, рекомендуется ICloneable не реализовать в общедоступных API.
Методы
| Имя | Описание |
|---|---|
| Clone() |
Создает новый объект, который является копией текущего экземпляра. |