是否可以从字符串变量执行代码,例如:
string mystring =“Console.WriteLine(\”Hi \“);”;
是否可以执行mystring的内容(打印'Hi')?
答案 0 :(得分:4)
可以使用System.Reflection.Emit或System.CodeDom命名空间,但这并不是一个好主意,因为没有机制来控制哪些命名空间是不允许的。用户可以构建一个擦除硬盘驱动器的字符串。
答案 1 :(得分:1)
是。在运行时启动编译器并传入代码。它将吐出可执行代码。请参阅System.CodeDom
命名空间,尤其是System.CodeDom.Compiler
。
答案 2 :(得分:1)
使用Code DOM
答案 3 :(得分:1)
需要使用反射来获得类似的东西。 C#不是动态语言或解释语言,所以你不能开箱即用