Beispiel #1
0
        static void Main()
        {
            ObjectRetriever o      = new ObjectRetriever(RetrieveString);
            object          result = o();

            Console.WriteLine(result);
        }
Beispiel #2
0
        public static void DelegatesTests()
        {
            Transformer t      = Square; // Create delegate instance
            Transformer t2     = new Transformer(Square);
            int         result = t(3);   // Invoke delegate

            result = t2.Invoke(3);       // Invoke delegate

            int[] values = { 1, 2, 3 };
            Transform(values, Square);
            Transform2(values, Square);
            Transformer <double> s = Square;

            Console.WriteLine(s(3.3));

            D1 d1 = Method1;
            //D2 d2 = d1         // Compile-time error
            D2 d2 = new D2(d1);

            ObjectRetriever o       = new ObjectRetriever(GetString);
            object          result2 = o();

            Console.WriteLine(result2);

            StringAction sa = new StringAction(ActOnObject);

            sa("hello");

            Func <string> x = GetString;
            Func <object> y = x;

            Console.WriteLine(y);
            Action <object> x1 = ActOnObject;
            Action <string> y2 = x1;
        }
        static void Main(string[] args)
        {
            // input more specific parameter types than the delegate target
            StringAction sa = new StringAction(ActOnObject);
            sa("hello");

            // return a more specific type than described by the delegate
            ObjectRetriever o = new ObjectRetriever(RetriveString);
            object result = o();
            Console.WriteLine(result);
        }
Beispiel #4
0
        public static void StartTest()
        {
            ObjectRetriever о      = new ObjectRetriever(GetString);
            object          result = о();

            Console.WriteLine(result); // !hello
            double[] values = { 3.4, 1.6, 5.9 };
            Console.Write("DelegateTest\n---------\nValues before: ");
            foreach (double v in values)
            {
                Console.Write(v + " ");
            }
            Transform <double>(values, Square);
            Console.Write("\nValues after: ");
            foreach (double v in values)
            {
                Console.Write(v + " ");
            }
        }