使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章

时间:2022-07-08 19:54:08

对于实现任意对象的Clone,以前也看到过不少讨论 的文章和实现。暂时先发到首页,供大家讨论,如果觉得不合适我会拆下

以下是Whizzo's 的两篇文章:
Object Cloning Using IL in C# 
            这篇文章作者分别用IL,反射实现了浅拷贝,并对普通的clone、IL、反射这三种实现方式做性能的对比


Object Deep Cloning using IL in C# - version 1.0 
            这篇文章作者分别用IL,反射实现了浅拷贝和深拷贝,并对普通的clone、IL深拷贝、IL浅拷贝、反射这三种实现方式做性能的对比,
            目前只支持Colone的对象具有默认构造函数的对象。

使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章Code

Clone类
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章Code

测试程序:
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章namespace Cloning
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章
{
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章   
class Program
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章   
{
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章       
static void Main(string[] args)
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章       
{
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章           
// Do some cloning tests使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章
            Cloning.TestCloning tc = new Cloning.TestCloning();
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章            tc.DoTest();
使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章        }

使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章    }

使用IL实现对象的Clone,浅拷贝,和深拷贝的几篇文章}

 

还有一篇:Rick Minerich - A .NET Assembly for Cloning Objects with Arbitrary Field Value Changes: IcManipluator

Update 2008-12-26:

Object Deep Cloning using IL in C# - version 1.1