使用英语阅读

通过


ICloneable 接口

定义

支持克隆,即用与现有实例相同的值创建类的新实例。

C#
public interface ICloneable
C#
[System.Runtime.InteropServices.ComVisible(true)]
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

另请参阅