本文整理汇总了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);
});
}