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(); }
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); }