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

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

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

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