/// <summary> /// for Form /// </summary> private void DoForForm() { string dataName = ""; var theTag = TagList.FirstOrDefault(a => a is FormTag); if (theTag != null) { FormTag form = theTag as FormTag; dataName = form.DataName; FieldTag field = null; List <FieldTag> Fields = new List <FieldTag>(); foreach (var c in TagList.Where(a => a is FieldTag)) { if (c is FieldTag) { field = c as FieldTag; if (field.Type == FieldType.form_value) { field.SetDataName(dataName, FieldType.form_value); form.AddField(field); } } } theTag = TagList.FirstOrDefault(a => a is MethodTag && (a as MethodTag).Type == MethodType.form_method); if (theTag != null) { MethodTag method = theTag as MethodTag; form.SetMethod(method); } } }
protected void printResults(MethodTag methodTag, List <int> ListToPrint) { switch (methodTag) { case MethodTag.INSERTION_SORT: Console.Write("Insertion sort results:\n"); break; case MethodTag.MERGE_SORT: Console.Write("Merge sort results:\n"); break; case MethodTag.QUICK_SORT: Console.Write("Quick sort results:\n"); break; default: Console.Write("[ERR] switch default hit. See BaseSorter, printResults()\n"); break; } if (ListToPrint.Count > 15) { Console.Write(" [ {0}, {1}, {2}, {3}, {4}, ... \n\t{5}, {6}, {7}, {8}, {9} ...\n\t\t{10}, {11}, {12}, {13}, {14} ]\n", ListToPrint[0], ListToPrint[1], ListToPrint[2], ListToPrint[3], ListToPrint[4], ListToPrint[ListToPrint.Count / 2 - 2], ListToPrint[ListToPrint.Count / 2 - 1], ListToPrint[ListToPrint.Count / 2], ListToPrint[ListToPrint.Count / 2 + 1], ListToPrint[ListToPrint.Count / 2 + 2], ListToPrint[ListToPrint.Count - 5], ListToPrint[ListToPrint.Count - 4], ListToPrint[ListToPrint.Count - 3], ListToPrint[ListToPrint.Count - 2], ListToPrint[ListToPrint.Count - 1] ); } else { Console.Write(" [ "); for (int i = 0; i < ListToPrint.Count; i++) { Console.Write("{0}", ListToPrint[i]); if (i < ListToPrint.Count - 1) { Console.Write(", "); } } Console.Write("]\n"); } }
protected void printResults(MethodTag methodTag, List<int> ListToPrint) { switch(methodTag) { case MethodTag.INSERTION_SORT: Console.Write("Insertion sort results:\n"); break; case MethodTag.MERGE_SORT: Console.Write("Merge sort results:\n"); break; case MethodTag.QUICK_SORT: Console.Write("Quick sort results:\n"); break; default: Console.Write("[ERR] switch default hit. See BaseSorter, printResults()\n"); break; } if(ListToPrint.Count > 15) { Console.Write(" [ {0}, {1}, {2}, {3}, {4}, ... \n\t{5}, {6}, {7}, {8}, {9} ...\n\t\t{10}, {11}, {12}, {13}, {14} ]\n", ListToPrint[0], ListToPrint[1], ListToPrint[2], ListToPrint[3], ListToPrint[4], ListToPrint[ListToPrint.Count / 2 - 2], ListToPrint[ListToPrint.Count / 2 - 1], ListToPrint[ListToPrint.Count / 2], ListToPrint[ListToPrint.Count / 2 + 1], ListToPrint[ListToPrint.Count / 2 + 2], ListToPrint[ListToPrint.Count - 5], ListToPrint[ListToPrint.Count - 4], ListToPrint[ListToPrint.Count - 3], ListToPrint[ListToPrint.Count - 2], ListToPrint[ListToPrint.Count - 1] ); } else { Console.Write(" [ "); for (int i = 0; i < ListToPrint.Count; i++) { Console.Write("{0}", ListToPrint[i]); if(i < ListToPrint.Count - 1) { Console.Write(", "); } } Console.Write("]\n"); } }
/// <summary> /// 测试标签 /// </summary> /// <param name="text">文本(经过格式化)</param> /// <param name="origin">原始文本</param> /// <param name="regex">正则表达式</param> /// <param name="type">目标标签类型</param> private void MatchTag(string text, string origin, Regex regex, TagType type) { if (this.Config.tagregex.TagPairEndTest.IsMatch(text) || this.Config.tagregex.EmptyTest.IsMatch(text) || this.Config.tagregex.ifTagKeyTest.IsMatch(text)) { return; } TheMatch = regex.Match(text); if (TheMatch.Success) { this.Html = this.Html.Replace(origin, text); if (type == TagType._tag_list) { text = FindFirstListTagStr(text, this.TagList.Count()); } if (type == TagType._tag_command) { CMDTag tag = new CMDTag(text, origin, Deep, this.Config, this.TagList.Count); GetCMD(tag); this.TagList.Add(tag); } else if (type == TagType._tag_list) { if (this is SubListPage) { ListTag tag = new ListTag(text, origin, Deep, (this as SubListPage).PageName, this.Config, this.TagList.Count); this.TagList.Add(tag); } else { ListTag tag = new ListTag(text, origin, Deep, this is ItemPage ? (this as ItemPage).PageName : "", this.Config, this.TagList.Count); this.TagList.Add(tag); } } else if (type == TagType._tag_read) { ReadTag tag = new ReadTag(text, origin, Deep, this.Config, this.TagList.Count); this.TagList.Add(tag); } else if (type == TagType._tag_label) { LabelTag tag = new LabelTag(text, origin, Deep, this is LabelPage ? (this as LabelPage).PageName : "", this.Config, this.TagList.Count); tag.LazyLoad(); this.TagList.Add(tag); } else if (type == TagType._tag_static) { StaticTag tag = new StaticTag(text, origin, Deep, this is StaticPage ? (this as StaticPage).PageName : "", this.Config, this.TagList.Count); this.TagList.Add(tag); } else if (type == TagType._tag_filed) { FieldTag tag = new FieldTag(text, origin, Deep, this.Config, this.TagList.Count); this.TagList.Add(tag); } else if (type == TagType._tag_method) { MethodTag tag = new MethodTag(text, origin, Deep, this.Config, this.TagList.Count); this.TagList.Add(tag); } else if (type == TagType._tag_pager) { PagerTag tag = new PagerTag(text, origin, Deep, this.Config, this.TagList.Count); this.TagList.Add(tag); } else if (type == TagType._tag_form) { FormTag tag = new FormTag(text, origin, Deep, this.Config, this.TagList.Count); this.TagList.Add(tag); this.TagCallBack = "form"; } else if (type == TagType._tag_json) { JsonTag tag = new JsonTag(text, origin, Deep, this.Config, this.TagList.Count); this.TagList.Add(tag); this.TagCallBack = "json"; } } }