/// <summary> /// /// </summary> /// <param name="index"></param> /// <param name="value"></param> protected override void OnRemoveComplete(int index, object value) { base.OnRemoveComplete(index, value); if (value is IWfInitialActivityDescriptor) { _InitialActivity = null; } else if (value is IWfCompletedActivityDescriptor) { _CompletedActivity = null; } }
/// <summary> /// 在向 DictionaryBase 实例中插入新元素之前执行其他自定义进程 /// </summary> /// <param name="index">index</param> /// <param name="value">value</param> /// <remarks> /// 处理过程:先在WfActivityDescriptorCollection中检验所加点的合法性ValidateActivity()(只能由一个开始点和一个结束点) /// 将_Process值赋给item.Process,使每个点都包含全部流程点的属性,方便从任一点遍历整个流程 /// </remarks> protected override void OnInsert(int index, object value) { WfActivityDescriptor item = (WfActivityDescriptor)value; ValidateActivity(item); item.Process = _Process; base.OnInsert(index, value); if (item is IWfInitialActivityDescriptor) { _InitialActivity = (IWfInitialActivityDescriptor)item; } else if (item is IWfCompletedActivityDescriptor) { _CompletedActivity = (IWfCompletedActivityDescriptor)item; } }