Reflection 反射、生成、编译、执行、反汇编、反编译、反射

Reflection 反射、生成、编译、执行、反汇编、反编译、反射,reflection,reference,code-generation,codedom,Reflection,Reference,Code Generation,Codedom,在回去工作之前,我决定休息几天,进行娱乐编码。每天30小时没有新鲜空气?改变一下,听起来很棒 随着时间的推移,我一直在挣扎于托管代码的生成,我一直想知道C代码、反射和codedom之间是否存在循环关系。遗憾的是,我从未抽出时间去探索它。因此,我们的目标是用嵌套的泛型、约束、匿名方法、委托、嵌套的复杂引用类型等创建无用的复杂类,并使用reflection+codedom从名为CodeGenerator的类中重新生成源代码,其中T是无用的类 坦率地说,灵感来自复仇。有一家公司要经营会让你远离编程,而

在回去工作之前,我决定休息几天,进行娱乐编码。每天30小时没有新鲜空气?改变一下,听起来很棒

随着时间的推移,我一直在挣扎于托管代码的生成,我一直想知道C代码、反射和codedom之间是否存在循环关系。遗憾的是,我从未抽出时间去探索它。因此,我们的目标是用嵌套的泛型、约束、匿名方法、委托、嵌套的复杂引用类型等创建无用的复杂类,并使用reflection+codedom从名为
CodeGenerator
的类中重新生成源代码,其中T是无用的类

坦率地说,灵感来自复仇。有一家公司要经营会让你远离编程,而在你不存在的空闲时间里做爱好项目会因为缺乏实践和失去联系而变得令人沮丧。我现在觉得自己像个白痴,但我要让你看看!愚蠢的CLR!也就是说,请不要把这当成一个笑话。我非常重视这些小假期

这是最近在努力实现目标时提出的。我想在不使用字符串操作的情况下生成代码,但在如何在运行时创建
new XyzObject()
constructor调用方面遇到了难题。我不想使用default(T),因为它将引用类型设置为null。有一种方法。愚蠢的CLR

为什么会这样?首先,这应该是一个有趣的讨论。这里有很多值得学习的地方

因此,该计划:

  • 创建一些无用且令人烦恼的复杂类
  • 回应SO成员提出的有趣和/或愚蠢的建议(希望如此)
  • 尝试使用反射遍历无用的类结构
  • 因为陷入困境和问愚蠢的问题而被投票否决
  • 使用反射成功地遍历无用的类结构
  • 尝试使用codedom重新生成无用类的代码
  • 因为陷入困境和问愚蠢的问题而被投票否决
  • 使用codedom成功地为无用类重新生成代码
  • 一路上获得知识
  • 利用所说的关于国内毫无戒心的开发人员的知识,通过代码生成强制执行约定

我仍然不确定你到底想完成什么,你的问题是什么。你对从哪里开始有问题吗?实际问题是什么?如何使用CodeDOM生成表达式,如
newfoo()
?如果它们的类型没有无参数构造函数,会发生什么?另外,您尝试了什么,为什么没有成功?生成
newfoo()
已经是旧问题的一部分。第二个问题对于没有无参数构造函数的类有效。另外,我将发布一两个我无法通过反射解析的类。我意识到这个主题不适合这样做。如何关闭或删除问题?