///
/// <summary>
///
/// </summary>
///
public static dynamic Parse(string[] parameters, string body)
{
dynamic lambda = null;
switch (parameters.Length)
{
case 1:
lambda = new Lambda <Func <dynamic, dynamic> >((dynamic a0) => {
//TempIdentifierExp.PushScope();
TempIdentifierExp.AddIdent(a0.GetType(), parameters[0], a0);
dynamic result = CsEval.Eval(body);
//TempIdentifierExp.PopScope();
return(result);
});
break;
case 2:
lambda = new Lambda <Func <dynamic, dynamic, dynamic> >((a0, a1) => {
//TempIdentifierExp.PushScope();
TempIdentifierExp.AddIdent(a0.GetType(), parameters[0], a0);
TempIdentifierExp.AddIdent(a1.GetType(), parameters[1], a1);
dynamic result = CsEval.Eval(body);
//TempIdentifierExp.PopScope();
return(result);
});
break;
}
return(lambda);
}