Esempio n. 1
0
    static int Main()
    {
        SimpleDelegate d      = new SimpleDelegate(F);
        AsyncCallback  ac     = new AsyncCallback(async_callback);
        string         state1 = "STATE1";
        string         state2 = "STATE2";
        string         state3 = "STATE3";
        string         state4 = "STATE4";
        int            fin    = 0;

        IAsyncResult ar1 = d.BeginInvoke(1, ac, state1);
        IAsyncResult ar2 = d.BeginInvoke(2, ac, state2);
        IAsyncResult ar3 = d.BeginInvoke(3, ac, state3);
        IAsyncResult ar4 = d.BeginInvoke(4, ac, state4);

        int res = d.EndInvoke(ar1);

        Console.WriteLine("Result = " + res);

        try
        {
            d.EndInvoke(ar1);
        }
        catch (InvalidOperationException)
        {
            Console.WriteLine("cant execute EndInvoke twice ... OK");
        }

        ar1.AsyncWaitHandle.WaitOne();
        if (ar1.IsCompleted)
        {
            fin++;
        }
        Console.WriteLine("completed1: " + ar1.IsCompleted);
        ar2.AsyncWaitHandle.WaitOne();
        if (ar2.IsCompleted)
        {
            fin++;
        }
        Console.WriteLine("completed2: " + ar2.IsCompleted);
        ar3.AsyncWaitHandle.WaitOne();
        if (ar3.IsCompleted)
        {
            fin++;
        }
        Console.WriteLine("completed3: " + ar3.IsCompleted);
        ar4.AsyncWaitHandle.WaitOne();
        if (ar4.IsCompleted)
        {
            fin++;
        }
        Console.WriteLine("completed4: " + ar4.IsCompleted);

        if (fin != 4)
        {
            return(1);
        }

        return(0);
    }
Esempio n. 2
0
    static int Main()
    {
        SimpleDelegate d      = new SimpleDelegate(async_func_throws);
        AsyncCallback  ac     = new AsyncCallback(async_callback);
        string         state1 = "STATE1";

        // Call delegate via ThreadPool and check that the exception is rethrown correctly
        IAsyncResult ar1 = d.BeginInvoke(1, ac, state1);

        while (cb_state == 0)
        {
            Thread.Sleep(0);
        }

        try {
            d.EndInvoke(ar1);
            Console.WriteLine("NO EXCEPTION");
            return(1);
        } catch (AsyncException) {
            Console.WriteLine("received exception ... OK");
            return(0);
        } catch (Exception e) {
            Console.WriteLine("wrong exception {0}", e);
            return(3);
        }
    }
Esempio n. 3
0
	static int Main () {
		SimpleDelegate d = new SimpleDelegate (F);
		AsyncCallback ac = new AsyncCallback (async_callback);
		string state1 = "STATE1";
		int res = 0;
		
		IAsyncResult ar1 = d.BeginInvoke (1, ac, state1);

		ar1.AsyncWaitHandle.WaitOne ();

		try {
			res = d.EndInvoke (ar1);
		} catch (NotImplementedException) {
			res = 1;
			Console.WriteLine ("received exception ... OK");
		}

		while (cb_state == 0)
			Thread.Sleep (0);
		
		if (cb_state != 1)
			return 1;
		
		if (res != 1)
			return 2;

		return 0;
	}
Esempio n. 4
0
	static int Main () {
		SimpleDelegate d1 = new SimpleDelegate (Method);
		SimpleDelegate d2 = new SimpleDelegate (Method);

		AsyncCallback ac = new AsyncCallback (Callback);
		
		IAsyncResult ar1 = d1.BeginInvoke (1, ac, null);
		IAsyncResult ar2 = d2.BeginInvoke (2, ac, null);

		try {
			d1.EndInvoke (ar2);
			return 1;
		} catch (InvalidOperationException) {
			// expected
		}

		try {
			d2.EndInvoke (ar1);
			return 2;
		} catch (InvalidOperationException) {
			// expected
		}

		if (1 != d1.EndInvoke (ar1)) return 3;
		if (2 != d2.EndInvoke (ar2)) return 4;

		return 0;
	}
        public static void Run()
        {
            // Using lambda operator

            FormatDateTime czechFormat = dateTime => $"{dateTime:dd.MM.yyyy}";

            czechFormat += dateTime => $"{dateTime:dd.MM.yy}";

            Console.WriteLine($"Czech format: {czechFormat(DateTime.Now)}");

            // Asking for invocation list

            var invocations = czechFormat.GetInvocationList();

            foreach (var invocation in invocations)
            {
                Console.WriteLine($"invocation.Method: {invocation.Method}");
                Console.WriteLine($"invocation.Target: {invocation.Target}");
            }

            // Using asynchronous support

            SimpleDelegate simpleDelegate = () => { Thread.Sleep(1000); };

            Console.WriteLine("The delegate invoked asynchronously is starting ...");

            simpleDelegate.BeginInvoke(HandleEndOfSimpleDelegateInvocation, null);

            Console.WriteLine("Processing is going on ...");
        }
Esempio n. 6
0
    static int Main()
    {
        SimpleDelegate d      = new SimpleDelegate(F);
        AsyncCallback  ac     = new AsyncCallback(async_callback);
        string         state1 = "STATE1";
        int            res    = 0;

        IAsyncResult ar1 = d.BeginInvoke(1, ac, state1);

        ar1.AsyncWaitHandle.WaitOne();

        try {
            res = d.EndInvoke(ar1);

            while (cb_state == 0)
            {
                Thread.Sleep(0);
            }
        } catch (NotImplementedException) {
            res = 1;
            Console.WriteLine("received exception ... OK");
        }

        if (cb_state != 1)
        {
            return(1);
        }

        if (res != 1)
        {
            return(2);
        }

        return(0);
    }
Esempio n. 7
0
    static int Main()
    {
        SimpleDelegate d1 = new SimpleDelegate(Method);
        SimpleDelegate d2 = new SimpleDelegate(Method);

        AsyncCallback ac = new AsyncCallback(Callback);

        IAsyncResult ar1 = d1.BeginInvoke(1, ac, null);
        IAsyncResult ar2 = d2.BeginInvoke(2, ac, null);

        try {
            d1.EndInvoke(ar2);
            return(1);
        } catch (InvalidOperationException) {
            // expected
        }

        try {
            d2.EndInvoke(ar1);
            return(2);
        } catch (InvalidOperationException) {
            // expected
        }

        if (1 != d1.EndInvoke(ar1))
        {
            return(3);
        }
        if (2 != d2.EndInvoke(ar2))
        {
            return(4);
        }

        return(0);
    }
Esempio n. 8
0
        public void ProcessCommand(string cmd)
        {
            m_commandLine.Enabled = false;

            //
            // ProcessCommand may block, so call it asynchronously
            // to keep UI responsive.
            //
            SimpleDelegate d = delegate
            {
                m_cmdProc.ProcessCommand(
                    cmd,
                    delegate(string text){
                    this.Invoke((SimpleDelegate) delegate
                    {
                        Output(text);
                    });
                });
                this.Invoke((SimpleDelegate) delegate
                {
                    m_commandLine.Enabled = true;
                    Output("\n");
                    m_commandLine.Focus();
                });
            };

            d.BeginInvoke(null, null);
        }
Esempio n. 9
0
    static int Main()
    {
        //
        //  Beginn Aenderung Test
        //
        Console.WriteLine("\n\tVOR SimpleDelegate d = new SimpleDelegate (F);\n");
        //
        //  Ende Aenderung Test
        //
        SimpleDelegate d = new SimpleDelegate(F);

        //
        //  Beginn Aenderung Test
        //
        Console.WriteLine("\n\tNACH SimpleDelegate d = new SimpleDelegate (F);\n");
        Console.WriteLine("\n\tVOR AsyncCallback ac = new AsyncCallback (async_callback);\n");
        //
        //  Ende Aenderung Test
        //
        AsyncCallback ac = new AsyncCallback(async_callback);

        //
        //  Beginn Aenderung Test
        //
        Console.WriteLine("\n\tNACH AsyncCallback ac = new AsyncCallback (async_callback)\n");
        Console.WriteLine("\n\tVOR IAsyncResult ar1 = d.BeginInvoke (cb_state, ac, cb_state);\n");
        //
        //  Ende Aenderung Test
        //
        IAsyncResult ar1 = d.BeginInvoke(cb_state, ac, cb_state);

        //
        //  Beginn Aenderung Test
        //
        Console.WriteLine("\n\tNACH IAsyncResult ar1 = d.BeginInvoke (cb_state, ac, cb_state)\n");
        Console.WriteLine("\n\tVOR ar1.AsyncWaitHandle.WaitOne ();\n");
        //
        //  Ende Aenderung Test
        //
        ar1.AsyncWaitHandle.WaitOne();
        //
        //  Beginn Aenderung Test
        //
        Console.WriteLine("\n\tNACH ar1.AsyncWaitHandle.WaitOne ();)\n");
        //
        //  Ende Aenderung Test
        //

        while (cb_state < 5)
        {
            Thread.Sleep(200);
        }

        return(0);
    }
Esempio n. 10
0
	static int Main () {
		SimpleDelegate d = new SimpleDelegate (F);
		AsyncCallback ac = new AsyncCallback (async_callback);
		string state1 = "STATE1";
		string state2 = "STATE2";
		string state3 = "STATE3";
		string state4 = "STATE4";
		int fin = 0;
		
		IAsyncResult ar1 = d.BeginInvoke (1, ac, state1);
		IAsyncResult ar2 = d.BeginInvoke (2, ac, state2);
		IAsyncResult ar3 = d.BeginInvoke (3, ac, state3);
		IAsyncResult ar4 = d.BeginInvoke (4, ac, state4);
		
		int res = d.EndInvoke (ar1);

		Console.WriteLine ("Result = " + res);

		try {
			d.EndInvoke (ar1);
		} catch (InvalidOperationException) {
			Console.WriteLine ("cant execute EndInvoke twice ... OK");
		}

		ar1.AsyncWaitHandle.WaitOne ();
		if (ar1.IsCompleted) fin++;
		Console.WriteLine ("completed1: " + ar1.IsCompleted);
		ar2.AsyncWaitHandle.WaitOne ();
		if (ar2.IsCompleted) fin++;
		Console.WriteLine ("completed2: " + ar2.IsCompleted);
		ar3.AsyncWaitHandle.WaitOne ();
		if (ar3.IsCompleted) fin++;
		Console.WriteLine ("completed3: " + ar3.IsCompleted);
		ar4.AsyncWaitHandle.WaitOne ();		
		if (ar4.IsCompleted) fin++;
		Console.WriteLine ("completed4: " + ar4.IsCompleted);

		if (fin != 4)
			return 1;
		
		return 0;
	}
Esempio n. 11
0
	public static int Main () {
		SimpleDelegate d = new SimpleDelegate (F);
		AsyncCallback ac = new AsyncCallback (async_callback);
		
		IAsyncResult ar1 = d.BeginInvoke (cb_state, ac, cb_state);

		ar1.AsyncWaitHandle.WaitOne ();


		while (cb_state < 5)
			Thread.Sleep (200);

		return 0;
	}
Esempio n. 12
0
    static void async_callback(IAsyncResult ar)
    {
        AsyncResult   ares = (AsyncResult)ar;
        AsyncCallback ac   = new AsyncCallback(async_callback);

        Console.WriteLine("Async Callback " + ar.AsyncState);
        cb_state++;
        SimpleDelegate d = (SimpleDelegate)ares.AsyncDelegate;

        if (cb_state < 5)
        {
            d.BeginInvoke(cb_state, ac, cb_state);
        }

        //throw new NotImplementedException ();
    }
Esempio n. 13
0
    public static int Main()
    {
        SimpleDelegate d  = new SimpleDelegate(F);
        AsyncCallback  ac = new AsyncCallback(async_callback);

        IAsyncResult ar1 = d.BeginInvoke(cb_state, ac, cb_state);

        ar1.AsyncWaitHandle.WaitOne();


        while (cb_state < 5)
        {
            Thread.Sleep(200);
        }

        return(0);
    }
Esempio n. 14
0
    static void async_callback(IAsyncResult ar)
    {
        AsyncResult ares = (AsyncResult)ar;

        //
        //  Beginn Aenderung Test
        //
        Console.WriteLine("\n\tVOR AsyncCallback ac = new AsyncCallback (async_callback)\n");
        //
        //  Ende Aenderung Test
        //
        AsyncCallback ac = new AsyncCallback(async_callback);

        //
        //  Beginn Aenderung Test
        //
        Console.WriteLine("\n\tNACH AsyncCallback ac = new AsyncCallback (async_callback)\n");
        //
        //  Ende Aenderung Test
        //
        Console.WriteLine("Async Callback " + ar.AsyncState);
        cb_state++;
        //
        //  Beginn Aenderung Test
        //
        Console.WriteLine("\n\tVOR SimpleDelegate d = (SimpleDelegate)ares.AsyncDelegate\n");
        //
        //  Ende Aenderung Test
        //
        SimpleDelegate d = (SimpleDelegate)ares.AsyncDelegate;

        //
        //  Beginn Aenderung Test
        //
        Console.WriteLine("\n\tNACH SimpleDelegate d = (SimpleDelegate)ares.AsyncDelegate\n");
        //
        //  Ende Aenderung Test
        //
        if (cb_state < 5)
        {
            d.BeginInvoke(cb_state, ac, cb_state);
        }

        //throw new NotImplementedException ();
    }
Esempio n. 15
0
	static int Main ()
	{
		SimpleDelegate d = new SimpleDelegate (F);
		AsyncCallback ac = new AsyncCallback (async_callback);
		string state1 = "STATE1";
		int res = 0;

		// Call delegate via ThreadPool and check that the exception is rethrown correctly
		IAsyncResult ar1 = d.BeginInvoke (1, ac, state1);

		while (cb_state == 0)
			Thread.Sleep (0);

		try {
			res = d.EndInvoke (ar1);
			Console.WriteLine ("NO EXCEPTION");
			return 1;
		} catch (NotImplementedException) {
			Console.WriteLine ("received exception ... OK");
		}

		return 0;
	}