本文整理汇总了C#中NativeActivityContext.GetChildren方法的典型用法代码示例。如果您正苦于以下问题:C# NativeActivityContext.GetChildren方法的具体用法?C# NativeActivityContext.GetChildren怎么用?C# NativeActivityContext.GetChildren使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类NativeActivityContext
的用法示例。
在下文中一共展示了NativeActivityContext.GetChildren方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OnHasCompleted
protected override void OnHasCompleted(NativeActivityContext context, ActivityInstance completedInstance)
{
base.OnHasCompleted(context, completedInstance);
//HACK:重写并行节点满足条件退出逻辑
var e = context.GetExtension<ParallelExtension>();
e.Cancelled(context.GetChildren()
.Where(o => o.ID != completedInstance.ID)
.Select(o => o.ID)
.ToArray());
}
示例2: OnBranchComplete
private void OnBranchComplete(NativeActivityContext context, System.Activities.ActivityInstance completedInstance)
{
PickState pickState = this.pickStateVariable.Get(context);
ReadOnlyCollection<System.Activities.ActivityInstance> children = context.GetChildren();
switch (completedInstance.State)
{
case ActivityInstanceState.Closed:
pickState.HasBranchCompletedSuccessfully = true;
break;
case ActivityInstanceState.Canceled:
case ActivityInstanceState.Faulted:
if ((context.IsCancellationRequested && (children.Count == 0)) && !pickState.HasBranchCompletedSuccessfully)
{
context.MarkCanceled();
context.RemoveAllBookmarks();
}
break;
}
if ((children.Count == 1) && (pickState.ExecuteActionBookmark != null))
{
this.ResumeExecutionActionBookmark(pickState, context);
}
}
示例3: OnTriggerComplete
private void OnTriggerComplete(NativeActivityContext context, Bookmark bookmark, object state)
{
PickState pickState = this.pickStateVariable.Get(context);
string str = (string) state;
ReadOnlyCollection<System.Activities.ActivityInstance> children = context.GetChildren();
bool flag = true;
for (int i = 0; i < children.Count; i++)
{
System.Activities.ActivityInstance activityInstance = children[i];
if (activityInstance.Id != str)
{
context.CancelChild(activityInstance);
flag = false;
}
}
if (flag)
{
this.ResumeExecutionActionBookmark(pickState, context);
}
}