本文整理汇总了C#中Nito.AsyncEx.TaskCompletionSource.SetCanceled方法的典型用法代码示例。如果您正苦于以下问题:C# TaskCompletionSource.SetCanceled方法的具体用法?C# TaskCompletionSource.SetCanceled怎么用?C# TaskCompletionSource.SetCanceled使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Nito.AsyncEx.TaskCompletionSource
的用法示例。
在下文中一共展示了TaskCompletionSource.SetCanceled方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SetCanceled_CancelsTask
public void SetCanceled_CancelsTask()
{
var tcs = new TaskCompletionSource();
tcs.SetCanceled();
Assert.IsTrue(tcs.Task.IsCanceled);
}
示例2: 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);
});
}