public void DisplayValue1() { System.Runtime.CompilerServices.TaskAwaiter <double> awaiter = GetValueAsync(1234.5, 1.01).GetAwaiter(); awaiter.OnCompleted(() => { double result = awaiter.GetResult(); Console.WriteLine("Value is : " + result); }); }
//我们可以效仿一下异步任务 public void AlikeMethod() { System.Runtime.CompilerServices.TaskAwaiter <int> awaiter = QueryScore().GetAwaiter(); awaiter.OnCompleted(() => { int result = awaiter.GetResult(); string info = $"您的考试成绩是:{result}"; Console.WriteLine(info); }); }
/// <summary> /// </summary> public void OnCompleted(Action continuation) { m_awaiter.OnCompleted(continuation); }
// INotifyCompletion public void OnCompleted(Action continuation) { _awaiter.OnCompleted(WrapContinuation(continuation)); }