public interface ICloneable

using System.Runtime.InteropServices;

namespace System
{
//
// 摘要:
// 支持克隆,即用与现有实例相同的值创建类的新实例。
[ComVisible(true)]
public interface ICloneable
{
//
// 摘要:
// 创建作为当前实例副本的新对象。

using System.Runtime.InteropServices;

namespace System
{
//
// 摘要:
// 支持克隆,即用与现有实例相同的值创建类的新实例。
[ComVisible(true)]
public interface ICloneable
{
//
// 摘要:
// 创建作为当前实例副本的新对象。
//
// 返回结果:
// 作为此实例副本的新对象。
object Clone();
}
}

//
// 返回结果:
// 作为此实例副本的新对象。
object Clone();
}
}

原文地址:https://www.cnblogs.com/wenluderen/p/11521265.html

时间: 2024-10-11 18:07:24

public interface ICloneable的相关文章

安卓中級教程(7):annotation中的 public @interface的用法

1 package com.example.ele_me.util; 2 3 import java.lang.annotation.Retention; 4 import java.lang.annotation.Target; 5 import java.lang.annotation.ElementType;  6 import java.lang.annotation.RetentionPolicy;  7 8 /** 9 * Use this annotation to mark th

public interface Collection<E> extends Iterable<E>

package java.util; import java.util.function.Predicate; import java.util.stream.Stream; import java.util.stream.StreamSupport; public interface Collection<E> extends Iterable<E> { // 查询操作 /** * @return 此集合中的元素数 */ int size(); /** * 判断集合是否为空 */

C#对象克隆介绍

浅拷贝和深拷贝 有两种对象克隆的方法:浅拷贝和深拷贝.浅拷贝只是复制引用,而不会复制引用的对象.深拷贝会复制引用的对象. 因此,原始对象中的引用和浅拷贝对象中的同一个引用都指向同一个对象.而深拷贝的对象包含了对象的一切直接或间接的引用.参看维基百科(http://en.wikipedia.org/wiki/Object_copy)来获得更多解释. ICloneable接口 ICloneable接口包含一个Clone方法,可以用来创建当前对象的拷贝. public interface IClone

(Protype Pattern)原型模式

适用性: 当我们系统中有一些类,在使用的时候都有同样需要大量的创建,而这样的创建是复杂的而且是浪费CPU,内存资源的,为了解决这一问题,就出现了原型模式(深度克隆,浅克隆) 模式思想: 1.  通过使用同一的创建对象方案,尽量避免创建对象复杂过程代码重复出现: 2.  为了节省CPU,内存资源,我们可以让不同的类之间共享一些(业务上允许)资源,从而达到缩小占用内存空间: 3.  这样的一类业务需求本来就具有一定的同一性,我们抽象出一个同一的抽象类(Protype,ICloneable)作为规范,

.NET基础之深度复制和浅度复制

之前一直没有搞清楚深度复制和浅度复制的区别到底在哪里,今天彻底把这个东西弄懂了,写出来与到家共勉. 大家都知道Object是所有类共同的基类,其有个方法是MemberwiseClone(),其用途为 我们可以通过这个方法来达到浅度复制的效果. 下面我们通过一个例子来阐述一下浅度复制,其与深度复制的区别在什么地方: public class Content { public int Val; } public class Cloner { public Content MyContent = ne

CLR 初步

1. 源代码编译为托管模块 程序在.NET框架下运行,首先要将源代码编译为 托管模块.CLR是一个可以被多种语言所使用的运行时,它的很多特性可以用于所有面向它的开发语言.微软开发了多种语言的编译器,编译时会使用相应的编译 器进行语法检查器和代码分析器,在编译完成后都生成一个托管模块. 托管模块? 托管模块是一个需要CLR环境才能执行的标准windows PE文件,包含IL和元数据以及PE表头和CLR表头. IL又叫托管代码,是编译器编译源文件后产生的指令,CLR会在运行时将IL编译成本地CPU指

C#6.0语言规范(十三) 接口

接口定义合同.实现接口的类或结构必须遵守其合同.接口可以从多个基接口继承,并且类或结构可以实现多个接口. 接口可以包含方法,属性,事件和索引器.接口本身不为它定义的成员提供实现.接口仅指定必须由实现接口的类或结构提供的成员. 接口声明 一个interface_declaration是type_declaration(类型声明,声明新的接口类型). 1 interface_declaration 2 : attributes? interface_modifier* 'partial'? 'int

System.Cloneable.cs

ylbtech-System.Cloneable.cs 1.返回顶部 1. #region 程序集 mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 // C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.6.1\mscorlib.dll #endregion using System

final和synchronized和public abstract interface和匿名内部类

1.final   参考博文:http://lavasoft.blog.51cto.com/62575/18771/ 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理解而需要阻止改变:设计或效率. final类不能被继承,没有子类,final类中的方法默认是final的.        final方法不能被子类的方法覆盖,但可以被继承.        final成员变量表