Esempio n. 1
0
        public void testString1()
        {
            var action = new MyStringDelegate(MyStringFoo);
            var r      = action("x");

            AssertEquals(r, "Hello");
        }
        public NonGenericDelegate()
        {
            MyStringDelegate stringDelegate = StringTarget;
            MyIntDelegate    intDelegate    = IntTarget;

            stringDelegate("Recai");
            intDelegate(58);
        }
        static void Main(string[] args)
        {
            //- Lav en Lambda Expression der tager imod en int og returnerer tallet fordoblet. Gem i en passende delegate, og kør.
            MultiplyDelegate del1 = x => x * 2;

            Console.WriteLine(del1(50));


            // - Lav en Lambda Expression der tager imod 3 floats og returnerer summen. Gem i en passende delegate, og kør.
            SumOfFloatsDelegate del2 = (x1, x2, x3) => x1 + x2 + x3;

            Console.WriteLine(del2(12.1F, 1.5F, 2.7F));

            //- Lav en Lambda Expression der ikke tager imod noget og returnerer "Hello World". Gem i en passende delegate og kør.
            TextMakerDelegate del3 = () => "Hello World";

            Console.WriteLine(del3());


            //Udfordring
            //addition
            MyFloatDelegate floatDelAddition = (num1, num2) => num1 + num2;

            Console.WriteLine(floatDelAddition(2.2f, 40f));

            //substraction
            MyFloatDelegate floatDelSubstration = (num1, num2) => num1 - num2;

            Console.WriteLine(floatDelSubstration(99.1f, 30.3f));

            //division
            MyIntDelegate intDelDivision = (num1, num2) => num1 / num2;

            Console.WriteLine(intDelDivision(10, 5));

            //Multiply
            MyStringDelegate stringDelMultiply = (text1, text2) =>
            {
                if (!int.TryParse(text1, out int int1))
                {
                    throw new ArgumentException("Argument must be number.", "text1");
                }
                if (!int.TryParse(text2, out int int2))
                {
                    throw new ArgumentException("Arguement must be a number.", "text2");
                }

                return((int1 * int2).ToString());
            };

            Console.WriteLine(stringDelMultiply("10", "20"));
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            CustomerManager customerManager = new CustomerManager();

            customerManager.SendMessage("Hello");
            customerManager.ShowAlert();

            MyDelegate myDelegate = customerManager.ShowAlert;

            myDelegate();

            MyStringDelegate myStringDelegate = customerManager.SendMessage;

            myStringDelegate("Hello Enis Ceri");

            Console.Read();
        }
Esempio n. 5
0
        static void Main(string[] args)
        {
            MyStringDelegate myStringDelegate = new MyStringDelegate(MyStringMethod);

            myStringDelegate += MyStringMethod2;
            var result = myStringDelegate.Invoke(string.Empty);

            Console.WriteLine(result);
            Console.Read();

            //C# 2.0 開始支援
            //不再一定需要依賴於某一個執行個體方法,或是靜態方法。而可以直接透過delegate關鍵字宣告
            MyStringDelegate mystringdelegate2 = delegate(string name)
            {
                return(name);
            };
            //JS
            //$.post("ajax/test.html", function(data) {
            //    $(".result").html(data);
            //});
            //$.post("ajax/test.html",MyCallBackfunction(data));
        }
        static void Main(string[] args)
        {
            //- Lav en delegate som returnerer void og tager imod ingen parametre. Kald denne.
            SomethingDelegate del1 = PrintHello;

            del1();

            //- Lav en anden delegate som returnerer float og tager imod ingen parametre. Kald denne.
            Something2Delegate del2 = GetHourOfTheDay;

            Console.WriteLine(del2());

            //- Lav en anden delegate som returnerer void og tager imod 3 parametere. Kald denne.
            AppendAndPrintInputsDelegate del3 = MasterAppender;

            del3("Rip", "Rap", "Rup");


            //Udfordring:
            var math = new Math();

            //int eksempel
            MyIntDelegate intDel = math.Add;

            Console.WriteLine(intDel(2, 3));

            //float eksempel
            MyFloatDelegate floatDelegate = math.Divide;

            Console.WriteLine(floatDelegate(12, 2));

            //string eksempel
            MyStringDelegate stringDelegate = math.Multiply;

            Console.WriteLine(stringDelegate("10", "10"));
        }
Esempio n. 7
0
        public void Start()
        {
            List <string> MyStringList = new List <string>();

            {
                MyStringList.Add("string1");
                MyStringList.Add("string2");
                MyStringList.Add("string3");
                MyStringList.Add("string4");
            };

            List <float> MyNumberlist = new List <float>();

            {
                MyNumberlist.Add(11);
                MyNumberlist.Add(5);
                MyNumberlist.Add(2);
                MyNumberlist.Add(55);
            };


            MyStringDelegate concatinator = list =>
            {
                string output = "";

                foreach (string word in list)
                {
                    output += word + ",";
                }
                return(output);
            };

            Console.WriteLine(concatinator(MyStringList));



            MyFloatDelegate numberAddition = list =>
            {
                float output = 0;

                foreach (float number in list)
                {
                    output += number;
                }
                return(output);
            };

            Console.WriteLine(numberAddition(MyNumberlist));

            MyFloatDelegate numberTimes = list =>
            {
                float output = 1;

                foreach (float number in list)
                {
                    output *= number;
                }
                return(output);
            };

            Console.WriteLine(numberTimes(MyNumberlist));
        }
Esempio n. 8
0
        public void testString1()
        {
			var action = new MyStringDelegate(MyStringFoo);
			var r = action("x");
			AssertEquals(r, "Hello");
        }