ICloneable Интерфейс

Определение

Поддерживает копирование, при котором создается новый экземпляр класса с тем же значением, что и у существующего экземпляра.Supports cloning, which creates a new instance of a class with the same value as an existing instance.

public interface class ICloneable
[System.Runtime.InteropServices.ComVisible(true)]
public interface ICloneable
type ICloneable = interface
Public Interface ICloneable
Производный
Атрибуты

Комментарии

ICloneable Интерфейс позволяет предоставить настраиваемую реализацию, которая создает копию существующего объекта.The ICloneable interface enables you to provide a customized implementation that creates a copy of an existing object. Интерфейс содержит один элемент Clone — метод, который предназначен для обеспечения Object.MemberwiseCloneподдержки клонирования за пределами, предоставляемыми. ICloneableThe ICloneable interface contains one member, the Clone method, which is intended to provide cloning support beyond that supplied by Object.MemberwiseClone. Дополнительные сведения о клонировании, глубоких и поверхностных копиях, а также примеры Object.MemberwiseClone см. в описании метода.For more information about cloning, deep versus shallow copies, and examples, see the Object.MemberwiseClone method.

Примечания для тех, кто реализует этот метод

Интерфейс просто требует, чтобы реализация Clone() метода возвращала копию текущего экземпляра объекта. ICloneableThe ICloneable interface simply requires that your implementation of the Clone() method return a copy of the current object instance. Он не указывает, выполняет ли операция клонирования глубокую копию, полную копию или что-то в диапазоне.It does not specify whether the cloning operation performs a deep copy, a shallow copy, or something in between. Также не требуется, чтобы все значения свойств исходного экземпляра копировались в новый экземпляр.Nor does it require all property values of the original instance to be copied to the new instance. Например, Clone() метод выполняет неполную копию всех свойств, IsReadOnly за исключением свойства; он всегда false задает значение этого свойства в клонированном объекте.For example, the Clone() method performs a shallow copy of all properties except the IsReadOnly property; it always sets this property value to false in the cloned object. Поскольку вызывающие объекты Clone() не могут зависеть от метода, выполняющего прогнозируемую операцию клонирования, мы ICloneable рекомендуем не реализовывать их в общедоступных API.Because callers of Clone() cannot depend on the method performing a predictable cloning operation, we recommend that ICloneable not be implemented in public APIs.

Методы

Clone()

Создает новый объект, являющийся копией текущего экземпляра.Creates a new object that is a copy of the current instance.

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

Дополнительно