本文整理匯總了C#中Nito.AsyncEx.TaskCompletionSource.SetException方法的典型用法代碼示例。如果您正苦於以下問題:C# TaskCompletionSource.SetException方法的具體用法?C# TaskCompletionSource.SetException怎麽用?C# TaskCompletionSource.SetException使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Nito.AsyncEx.TaskCompletionSource
的用法示例。
在下文中一共展示了TaskCompletionSource.SetException方法的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: SetExceptions_FaultsTask
public void SetExceptions_FaultsTask()
{
var e = new[] { new InvalidOperationException() };
var tcs = new TaskCompletionSource();
tcs.SetException(e);
Assert.IsTrue(tcs.Task.IsFaulted);
Assert.IsTrue(tcs.Task.Exception.InnerExceptions.SequenceEqual(e));
}
示例2: SetException_FaultsTask
public void SetException_FaultsTask()
{
var e = new InvalidOperationException();
var tcs = new TaskCompletionSource();
tcs.SetException(e);
Assert.IsTrue(tcs.Task.IsFaulted);
Assert.AreSame(e, tcs.Task.Exception.InnerException);
}
示例3: OnSessionCompleted
/// <summary>
/// Invoked when the session is complete. Sets the results of the session on the given task source.
/// </summary>
/// <param name="tcs"></param>
/// <param name="args"></param>
void OnSessionCompleted(TaskCompletionSource<VoiceXmlResult> tcs, SessionCompletedEventArgs args)
{
if (tcs.Task.IsCompleted)
return;
Dispatch(() =>
{
if (tcs.Task.IsCompleted)
return;
if (args.Cancelled)
tcs.SetCanceled();
else if (args.Error != null)
tcs.SetException(args.Error);
else if (args.Result.UnhandledThrowElement != null)
tcs.SetException(new UnhandledPageThrowException(args.Result.UnhandledThrowElement));
else
tcs.SetResult(args.Result);
});
}