static void Main(string[] args) { var test = new CustomFunctionBuilder(); test.AddVariable("num1", 1); test.AddVariable("num2", 2); test.AddFunction ( "add", () => (int)test["num1"] + (int)test["num2"] ); test.AddVariable("num3", 3); test.AddFunction ( "multiply", () => (int)test["add"] * (int)test["num3"] ); foreach (var item in test.ShowInvocationOrder()) { Console.WriteLine(item); } Console.WriteLine((int)test.Invoke()); Console.WriteLine("Test 2"); test = new CustomFunctionBuilder(); test.AddVariable("n1", 1); test.AddVariable("n2", 3); test.AddFunction ( "Add", () => { test.AddVariable ( "ret", (int)test["n1"] + (int)test["n2"] ); } ); test.Invoke(); Console.WriteLine((int)test["ret"]); Console.ReadKey(); }
public void AddFunction(string name, CustomFunctionBuilder function) => executionSequence.Add(name, function);