Пример #1
0
        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();
        }
Пример #2
0
 public void AddFunction(string name, CustomFunctionBuilder function)
 => executionSequence.Add(name, function);