//添加活动 public static ModelItem AddActivity(this ModelItem modelItem, object item, int index = -1) { if (!modelItem.CanAddItem(item)) { return(null); } ModelItem result = null; Activity value; if (modelItem.IsSequence() && (value = (item as Activity)) != null) { ModelItemCollection collection = modelItem.Properties["Activities"].Collection; result = ((index == -1) ? collection.Add(value) : collection.Insert(index, value)); } else if (modelItem.IsFlowchart()) { FlowNode flowNode = null; if (item != null) { FlowNode flowNode2; if ((flowNode2 = (item as FlowNode)) == null) { Activity activity; if ((activity = (item as Activity)) != null) { Activity action = activity; flowNode = new FlowStep { Action = action }; } } else { FlowNode flowNode3 = flowNode2; flowNode = flowNode3; } } if (flowNode != null) { ModelItemCollection collection2 = modelItem.Properties["Nodes"].Collection; result = ((index == -1) ? collection2.Add(flowNode) : collection2.Insert(index, flowNode)); } } else if (modelItem.IsStateMachine() && (item is State || item is FinalState)) { State state = (item as State) ?? new State { IsFinal = true, }; ModelItemCollection collection3 = modelItem.Properties["States"].Collection; result = ((index == -1) ? collection3.Add(state) : collection3.Insert(index, state)); } return(result); }