Esempio n. 1
0
        static void delegates()
        {
            //declaring a delegate
            printFormats1 handler1 = new printFormats1(format1);

            //adding method references to delegate1
            handler1 += format2;
            handler1 += format3;
            handler1 += format4;
            handler1 += format5;
            //invoking methods
            handler1(10);

            //deleting methods from a delegate instance
            handler1 -= format3;
            handler1 -= format4;
            handler1 -= format5;

            //other way to instance a delegate
            printFormats2 handler2 = format3;

            handler2 += format4;
            handler2 += format5;

            //anoter way to invoke methods
            handler2.Invoke(30);
        }
Esempio n. 2
0
        static void AnonymusMethod()
        {
            Action writeTitle = delegate()
            {
                Console.WriteLine("The Main Title");
            };

            writeTitle();

            Func <int, string> Num2Text = delegate(int number)
            {
                switch (number)
                {
                case 1:
                    return("one");

                case 2:
                    return("two");

                case 3:
                    return("three");

                default:
                    return("it is not in the list");
                }
            };

            Predicate <string> IsNumber = delegate(string s)
            {
                int   i;
                float f;

                return(int.TryParse(s, out i) || float.TryParse(s, out f) ? true : false);
            };

            Console.Write("Write a number(1-4):");
            string value = Console.ReadLine();

            if (IsNumber(value))
            {
                Console.WriteLine("The Text of the number {0} is : {1}", value, Num2Text(int.Parse(value)));
            }

            printFormats1 format = delegate(int i)
            {
                format1(i);
            };

            format(int.Parse(value));

            anonymus(delegate() {
                Console.WriteLine("This is anonymus method as a parameter");
            });
        }