示例#1
0
        private void Btn_DelegateExamples_Click(object sender, EventArgs e)
        {
            //Instantiate delegate with named Methods
            DoOperation           op       = NamedVoidMethod;
            DoOperationWithReturn opReturn = NamedMethodWithStringReturn;

            //Invoke Delegate methods
            op("Required Par");
            var returnedValueFromDelegate = opReturn("Required Par");

            Console.WriteLine(returnedValueFromDelegate);

            //Instantiate with Anonymus method
            op = delegate(string par)
            {
                Console.WriteLine(par);
            };
            op("3-You wrote this in anonymus method oh yeahh!!!!");


            // Finally ..... Instantiate with lambda Instrucction
            // hey hey it's diferent to Lambda expression

            opReturn = par =>
            {
                Console.WriteLine("4-Call Lambda Instruction!!!!");
                return("Returned from delegate Method with lambda Instruction }:) ");
            };
            var returnedValueFromDelegateLambdaInst = opReturn("Execute Lambda String Method!!!!");

            Console.WriteLine(returnedValueFromDelegateLambdaInst);
        }
示例#2
0
        private void Btn_LambdaExample_Click(object sender, EventArgs e)
        {
            const string msg = "Lambda Example ";

            DoOperation lambdaVoid = par => Console.WriteLine(par);

            DoOperationWithReturn lambdaReturnStringInstruction = par =>
            {
                return(par);
            };
            DoOperationWithReturn lambdaReturnStringExpression = par => par;

            DoOperationWithReturnAndTwoParameters lambdaReturnStringInstructionTwoParameters = (par1, par2) =>
            {
                return(par1 + par2);
            };

            lambdaVoid(msg + 1);
            Console.WriteLine(lambdaReturnStringInstruction(msg + 2));
            Console.WriteLine(lambdaReturnStringExpression(msg + 3));
            Console.WriteLine(lambdaReturnStringInstructionTwoParameters(msg, 4.ToString()));
        }