本文整理汇总了C#中ExecutionContext.Cancel方法的典型用法代码示例。如果您正苦于以下问题:C# ExecutionContext.Cancel方法的具体用法?C# ExecutionContext.Cancel怎么用?C# ExecutionContext.Cancel使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExecutionContext
的用法示例。
在下文中一共展示了ExecutionContext.Cancel方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CreateShadowExecutionContext
private static ExecutionContext CreateShadowExecutionContext(ExecutionContext context)
{
var shadowExecutionContext = new ExecutionContext(context.SkipAhead);
shadowExecutionContext.SetCurrentExercise(context.CurrentExercise);
shadowExecutionContext.SetCurrentSet(context.CurrentSet);
shadowExecutionContext.SetCurrentRepetition(context.CurrentRepetition);
// if either context is cancelled, cancel the other
context
.WhenAnyValue(x => x.IsCancelled)
.Where(x => x)
.Subscribe(_ => shadowExecutionContext.Cancel());
shadowExecutionContext
.WhenAnyValue(x => x.IsCancelled)
.Where(x => x)
.Subscribe(_ => context.Cancel());
// if either context is paused, pause the other
context
.WhenAnyValue(x => x.IsPaused)
.Subscribe(x => shadowExecutionContext.IsPaused = x);
shadowExecutionContext
.WhenAnyValue(x => x.IsPaused)
.Subscribe(x => context.IsPaused = x);
return shadowExecutionContext;
}