linux-packaging-mono/mcs/tests/test-async-26.cs
Jo Shields 8b9b85e7f5 Imported Upstream version 3.10.0
Former-commit-id: 172c8e3c300b39d5785c7a3e8dfb08ebdbc1a99b
2014-10-04 11:27:48 +01:00

34 lines
638 B
C#

using System;
using System.Threading;
using System.Threading.Tasks;
namespace ConsoleApplication1
{
class Program
{
public static Task<TResult> Run<TResult> (Func<Task<TResult>> function)
{
var t = Task<Task<TResult>>.Factory.StartNew (function);
return GetTaskResult (t);
}
async static Task<TResult> GetTaskResult<TResult> (Task<Task<TResult>> task)
{
return await task.Result;
}
public static int Main ()
{
var t2 = Run (() => Task<int>.Factory.StartNew (() => 5));
if (!t2.Wait (1000)) {
Console.WriteLine (t2.Status);
return 1;
}
Console.WriteLine ("ok");
return 0;
}
}
}