【发布时间】:2020-02-22 21:04:15
【问题描述】:
假设我有这个方法:
1. public int sum(int a, int b){
2. int x = 0;
3.
4. return x;
5. }
是否有可能得到一个字符串x = a + b; 并放在第 3 行(在运行时),以便在插入此字符串后,代码现在会计算 a 和 b 的总和?
我想在文本输入字段中编写一些代码,所以当我按下按钮时,所有代码(即字符串)应该能够进入某些现有代码的某些部分。上面的sum 只是一个例子,但它可以是任何东西。
【问题讨论】:
-
你真的需要编译c#吗?你可以做你自己的解析器。例如,如果你只是想解释一个“代码迷你游戏”的代码。
-
我不想创建一个完整的解析器,我打算稍作修改并将代码转换为可用的 C#。
-
看,您的选择是:a) Anu 的答案 b) 将文本代码编译成动态生成的程序集(使用链接问题中接受的答案中提到的 CodeDom)。这里没有真正的中间选项。