public static dynamic INVOKE(Function func, params object[] inputs) { if (!Accessibility.IsAccess(MCL.EnvironmentAccess, func.Access)) { throw new MethodAccessException("You not access to this function"); } if (inputs == null) { inputs = new object[0]; } string nam = nameof(VARIABLE).ToLower(); int length = Math.Min(func.Inputs.Length, inputs.Length); for (int i = 0; i < func.Inputs.Length; i++) { if (func.Inputs[i].ToLower().StartsWith(nam)) { MCL.Parse(func.Inputs[i]); if (inputs.Length > i) { MCL.SetVar(func.Inputs[i].Substring(nam.Length).Split('=')[0].Trim(), inputs[i]); } } else { MCL.AddVar(func.Inputs[i], (inputs.Length > i) ? inputs[i] : Null); } } return(MCL.Parser(func.Commands)); }