public static AddIdent ( |
||
type | Type of identifier | |
name | string | Name of identifier |
Результат | void |
/// /// <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); }