Beispiel #1
0
        static void Main(string[] args)
        {
            Reverse rev = ReverseString;

            //Console.WriteLine(rev("a string"));
            ClassWithFunction classWithFunction = new ClassWithFunction("Prueba");
            ClassWithDelegate classWithDelegate = new ClassWithDelegate();

            //classWithDelegate.myDelegate = classWithFunction.DelegateFunction;
            //classWithDelegate.myDelegate.Invoke("parameter one", 100);
            //classWithDelegate.myDelegate = delegate (string myString, int myInt) { return String.Format("Delegate: {1} {0}", myString, myInt); };
            classWithDelegate.myDelegate = (string myString, int myInt) => string.Format("Lambda: {1} {0}", myString, myInt);
            Console.WriteLine(classWithDelegate.myDelegate.Invoke("Bla", 100));
            Console.ReadKey();
        }
Beispiel #2
0
        public void CallingFunctionWithWrongArgumentType_USING_FUNCTION_DEFINITION_CREATOR()
        {
            TextReader programString = File.OpenText("code73.txt");

            ClassWithFunction c = new ClassWithFunction();

            FunctionDefinition[] funcDefs = FunctionDefinitionCreator.CreateDefinitions(c, typeof(ClassWithFunction));

            List <FunctionDefinition> moreFunctionDefinitions = new List <FunctionDefinition> {
                GetPrintFunction()
            };

            moreFunctionDefinitions.AddRange(funcDefs);

            SprakRunner program = new SprakRunner(programString, moreFunctionDefinitions.ToArray());

            program.run();

            Assert.AreEqual(0, program.getCompileTimeErrorHandler().getErrors().Count);
        }
        public void CallingFunctionWithWrongArgumentType_USING_FUNCTION_DEFINITION_CREATOR()
        {
            TextReader programString = File.OpenText("code73.txt");

            ClassWithFunction c = new ClassWithFunction ();
            FunctionDefinition[] funcDefs = FunctionDefinitionCreator.CreateDefinitions (c, typeof(ClassWithFunction));

            List<FunctionDefinition> moreFunctionDefinitions = new List<FunctionDefinition> {
                GetPrintFunction ()
            };

            moreFunctionDefinitions.AddRange (funcDefs);

            SprakRunner program = new SprakRunner(programString, moreFunctionDefinitions.ToArray());
            program.run();

            Assert.AreEqual (0, program.getCompileTimeErrorHandler().getErrors().Count);
        }