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() метода возвращала копию текущего экземпляра объекта. Он не указывает, выполняет ли операция клонирования глубокое копирование, неглубокое копирование или что-то между ними. Также не требуется копирование всех значений свойств исходного экземпляра в новый экземпляр. Например, Clone() метод выполняет неглубокое копирование всех свойств, кроме IsReadOnly свойства . Он всегда задает этому свойству false
значение в клонируемом объекте. Так как вызывающие Clone() методы не могут зависеть от метода, выполняющего предсказуемую операцию клонирования, рекомендуется ICloneable не реализовывать в общедоступных API.
Clone() |
Создает новый объект, являющийся копией текущего экземпляра. |
Продукт | Версии |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10 |
.NET Framework | 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Отзыв о .NET
.NET — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: