コード例 #1
0
ファイル: Form1.cs プロジェクト: fudacct/examples
        private async Task <string> MethodAsyncReturnObject()
        {
            var          resultFromTimeConsumingMethod = TimeConsumingMethodReturnObject();
            ReturnObject returnObject = resultFromTimeConsumingMethod.Result;

            if (returnObject.Flag)
            {
            }
            string result = await resultFromTimeConsumingMethod + " + MethodAsync. my thread id is:" + Thread.CurrentThread.ManagedThreadId + "\r\n";

            ShowMessage(result);
            return(result);
        }
コード例 #2
0
ファイル: Form1.cs プロジェクト: fudacct/examples
        private async Task <ReturnObject> TimeConsumingMethodReturnObject()
        {
            var task = Task.Run(() =>
            {
                ReturnObject returnObject   = new ReturnObject();
                returnObject.ReturnMessage1 = "Helo I am TimeConsumingMethod. My Thread ID is :" + Thread.CurrentThread.ManagedThreadId;
                Thread.Sleep(5000);
                returnObject.ReturnMessage2 = "Helo I am TimeConsumingMethod after Sleep(5000). My Thread ID is :" + Thread.CurrentThread.ManagedThreadId;
                returnObject.ReturnMessage3 = "Hello I am TimeConsumingMethod";
                returnObject.Flag           = true;
                return(returnObject);
            });

            return(await task);
        }
コード例 #3
0
ファイル: Form1.cs プロジェクト: fudacct/examples
        private async Task <ReturnObject> MethodAsync2(int inputValue)
        {
            ReturnObject returnObject = new ReturnObject();
            var          task         = Task.Run(() =>
            {
                for (int i = 0; i < 3; i++)
                {
                    if (inputValue % 2 == 0)
                    {
                        Thread.Sleep(2000);
                    }
                    ShowMessage(string.Format("async function output: input values is :{0};thread id is:{1};runing count is:{2}", inputValue, Thread.CurrentThread.ManagedThreadId, i));
                }
                return("you input is:" + inputValue);
            });

            returnObject.ReturnMessage1 = await task;
            returnObject.Flag           = true;
            ShowMessage(string.Format("111:{0}", inputValue));
            return(returnObject);
        }