private void SaveValue(Task task) { if (task == null) { return; } FieldInfo[] publicFields = TaskUtility.GetPublicFields(task.GetType()); Dictionary <string, object> dictionary = new Dictionary <string, object>(); int i = 0; while (i < publicFields.Length) { object value = publicFields[i].GetValue(task); if (!(value is SharedVariable)) { goto IL_5A; } SharedVariable sharedVariable = value as SharedVariable; if (!sharedVariable.IsGlobal && !sharedVariable.IsShared) { goto IL_5A; } IL_71: i++; continue; IL_5A: dictionary.Add(publicFields[i].Name, publicFields[i].GetValue(task)); goto IL_71; } this.defaultValues.Add(dictionary); if (task is ParentTask) { ParentTask parentTask = task as ParentTask; if (parentTask.Children != null) { for (int j = 0; j < parentTask.Children.Count; j++) { this.SaveValue(parentTask.Children[j]); } } } }
private void SaveValue(Task task) { if (task == null) { return; } FieldInfo[] publicFields = TaskUtility.GetPublicFields(task.GetType()); Dictionary <string, object> dictionary = new Dictionary <string, object>(); for (int index = 0; index < publicFields.Length; ++index) { object obj = publicFields[index].GetValue((object)task); if (obj is SharedVariable) { SharedVariable sharedVariable = obj as SharedVariable; if (sharedVariable.IsGlobal || sharedVariable.IsShared) { continue; } } dictionary.Add(publicFields[index].Name, publicFields[index].GetValue((object)task)); } this.defaultValues.Add(task, dictionary); if (!(task is ParentTask)) { return; } ParentTask parentTask = task as ParentTask; if (parentTask.Children == null) { return; } for (int index = 0; index < parentTask.Children.Count; ++index) { this.SaveValue(parentTask.Children[index]); } }