如何在运行时将字符串作为代码插入?

时间:2019-10-27 04:40:58

标签: c# unity3d

假设我有此方法:

1. public int sum(int a, int b){
2.     int x = 0;
3. 
4.     return x;
5. }

是否可以获取字符串x = a + b;并放置在第3行中(运行时),因此在插入此字符串之后,代码现在进行a和{{1}的总和}?

我想在文本输入字段中编写一些代码,因此当我按下按钮时,所有这些代码(即字符串)应该能够进入某些现有代码的一部分。上面的b只是一个例子,但可以是任何东西。

1 个答案:

答案 0 :(得分:1)

您可以将Func<>作为参数传递给方法,而不是插入字符串。例如,

public int sum(int a, int b,Func<int,int,int> expression = null)
{
   int x = expression == null ? 0 : expression(a,b);
   return x;
}

现在,您可以将方法用作

var result1 = sum(1,2);  // When you do not want to add the numbers
var result2 = sum(1,2,(a,b)=>a+b); // when you want to add the numbers