Поделиться через


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()

Создает новый объект, являющийся копией текущего экземпляра.

Применяется к

См. также раздел