基于IL的C#任意类型自动深拷贝与深比较工具
摘要:一、前言 本文的动机需求在于对任意一个类型MyClass,可以在不需要书写任何额外代码的同时自动进行深拷贝以及深比较,并且需要保证一定的性能。之前的方案是两年前使用Python正则自动生成代码,性能当然是最高的,但是使用起来比较麻烦:使用Python自动生成代码。最近学习了C#的IL以后,发现了一种
阅读全文
通过IL Emit来创建类型的探究
摘要:最近刚开始研究IL,起源是看到Odin内部源码创建一个Type使用了这种做法,当时好奇为什么要这么做。 先丢出代码例子: 1 class TestClass 2 { 3 public TestClass() 4 { 5 mylist = new List<int>(); 6 for(int i=0;
阅读全文