/// <summary> /// 整理章节内容 /// </summary> /// <param name="self"></param> /// <returns></returns> public static void Order(this ChapterCategory self) { if (self.IsOrdered) { return; } var dict = self.GetAll(); var offset = 0; for (int i = 0; i < dict.Count; i++) { var last_index = i + offset - 1; if (!dict.ContainsKey(i)) { if (!dict.ContainsKey(last_index)) { offset--; } else { dict[i] = dict[last_index].Clone() as Chapter; } } else { if (string.IsNullOrEmpty(dict[i].Command)) { dict[i].Command = "ShowMessageWindow";//默认改为对话框 if (string.IsNullOrEmpty(dict[i].Arg1)) { dict[i].Arg1 = dict[last_index].Arg1; } } dict[i + offset] = dict[i]; } } var keys = dict.Keys.ToList(); keys.Sort(); for (int i = 0; i < -offset; i++) { var index = dict.Count - 1 - i; dict.Remove(keys[index]); } self.IsOrdered = true; }