我收到了一个“为了好玩”的挑战,要求我编写一个“hello world”应用程序。唯一的条件是我使用反射,没有指定的方式必须满足这个条件,但巧妙或优雅或“酷”的使用很有趣。除了注入(inject)外部库或执行某种 IHelloWorldMessageProvider 组合容器 mojo 之外,我没有看到很多选项。有大佬赐教吗?
最佳答案
就个人而言,如果我想使用反射编写一个复杂而有趣的 Hello World 应用程序……我将不得不使用动态编译。我没有时间写一个完整的例子,但工作流程会是这样的:
开始申请。
创建一个包含 Hello World C# 代码的字符串。
从应用程序调用编译器以在运行时创建 DLL。
使用反射加载生成的程序集。
获取适当的类型和方法...然后调用它(从而显示“Hello World”消息)。
查看此页面进一步解释动态编译的过程:
关于c# - 如果任务是在 C# 中编写 hello world...使用反射,那么使用反射的一些巧妙方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3464811/