本文整理汇总了C#中Task.Cancel方法的典型用法代码示例。如果您正苦于以下问题:C# Task.Cancel方法的具体用法?C# Task.Cancel怎么用?C# Task.Cancel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Task
的用法示例。
在下文中一共展示了Task.Cancel方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CancelTestCase
public void CancelTestCase()
{
int count = 1;
ParallelTestHelper.Repeat (delegate {
bool result = false;
Task t = new Task (delegate {
result = true;
});
t.Cancel();
Assert.IsTrue (t.IsCancellationRequested, "#-1");
t.Start ();
t.Wait ();
Assert.IsInstanceOfType(typeof(TaskCanceledException), t.Exception, "#1 : " + count ++);
TaskCanceledException ex = (TaskCanceledException)t.Exception;
Assert.AreEqual(t, ex.Task, "#2");
Assert.IsFalse(result, "#3");
});
}
示例2: ContinueWithOnAbortedTestCase
public void ContinueWithOnAbortedTestCase()
{
ParallelTestHelper.Repeat (delegate {
bool result = false;
bool taskResult = false;
Task t = new Task(delegate { taskResult = true; });
t.Cancel();
Task cont = t.ContinueWith(delegate { result = true; }, TaskContinuationOptions.OnlyOnCanceled);
t.Start();
t.Wait();
cont.Wait();
Assert.IsFalse (taskResult, "#-1");
Assert.AreEqual (TaskStatus.Canceled, t.Status, "#0");
Assert.IsTrue (t.IsCanceled, "#0bis");
Assert.IsNull(cont.Exception, "#1");
Assert.IsNotNull(cont, "#2");
Assert.IsTrue(result, "#3");
});
}