2020-05-05 21:05:32 +09:00
|
|
|
|
using Cysharp.Threading.Tasks;
|
|
|
|
|
|
using System;
|
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
|
|
|
|
|
|
namespace NetCoreSandbox
|
|
|
|
|
|
{
|
|
|
|
|
|
class Program
|
|
|
|
|
|
{
|
|
|
|
|
|
static async Task Main(string[] args)
|
|
|
|
|
|
{
|
|
|
|
|
|
Console.WriteLine("Foo");
|
2020-05-05 21:34:11 +09:00
|
|
|
|
var v = await outer().AsTask();
|
2020-05-05 21:05:32 +09:00
|
|
|
|
|
|
|
|
|
|
Console.WriteLine("Bar:" + v);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-05-05 21:34:11 +09:00
|
|
|
|
static async UniTask<int> outer()
|
|
|
|
|
|
{
|
|
|
|
|
|
var v = await DoAsync();
|
|
|
|
|
|
return v;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2020-05-05 21:05:32 +09:00
|
|
|
|
|
|
|
|
|
|
static async UniTask<int> DoAsync()
|
|
|
|
|
|
{
|
|
|
|
|
|
var tcs = new UniTaskCompletionSource<int>();
|
|
|
|
|
|
|
|
|
|
|
|
tcs.TrySetResult(100);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var v = await tcs.Task;
|
|
|
|
|
|
|
|
|
|
|
|
return v;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|