反思,生成,编译,执行,反汇编,反编译,反映

时间:2012-01-11 05:16:26

标签: reflection reference code-generation codedom

在重新开始营业之前,我决定休假几天休闲编码。几天30小时没有新鲜空气?听起来非常棒,需要改变。

随着时间的推移,我一直在努力管理代码生成,并且总是想知道C#代码,反射和编码器之间是否存在循环关系。从来没有绕过去悲伤地探索它。因此,目标是使用嵌套泛型,约束,匿名方法,委托,嵌套复杂引用类型等创建无用且烦人的复杂类,并使用reflection + codedom从名为CodeGenerator<T>的类重新生成其源代码,其中T将是无用的课程。

灵感来自报复坦率。拥有一家公司可以让你远离编程,并且在你不存在的空闲时间做爱好项目会因为缺乏练习和脱节而变得令人沮丧。我现在觉得自己像个白痴,但我会告诉你!愚蠢的CLR!那就是说,请不要误以为这是一个笑话。我非常认真地对待这些小假期。

这是在最近尝试实现this时出现的。我想在不使用字符串操作的情况下生成代码,并且难以理解如何在运行时创建new XyzObject()构造函数调用。我不想使用default(T),因为它将引用类型设置为null。 HAS 是一种方式。愚蠢的CLR!

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

所以计划:

  • 创建一些无用且烦人的复杂类。
  • 回应SO成员的有趣和/或愚蠢的建议(希望如此)。
  • 尝试使用反射遍历无用的类结构。
  • 投票决定是否陷入困境并提出愚蠢的问题。
  • 使用反射成功遍历无用的类结构。
  • 尝试使用codedom为无用的类重新生成代码。
  • 投票决定是否陷入困境并提出愚蠢的问题。
  • 使用codedom成功为无用的类重新生成代码。
  • 沿途获取知识。
  • 将这些知识用于不知情的开发人员回国,通过代码生成来强制执行约定。

0 个答案:

没有答案