Анализ Designer.cs файла проекта - C#
Формулировка задачи:
Всем доброго времени суток!
Мне нужно распарсить Designer файл, собственно, большинство уже сделано, осталось только пройтись по той его части, где поочередно описываются свойства элементов управления.
Синтаксис таков:
Пользователь выбирает необходимый элемент и в RichTextBox выводятся его свойства. Стало быть мне нужно, во-первых:
Каким-то образом записать условие, что если найдена строка "//" + Name и она находится между строками, которые содержат только "//", то делать то-то то-то:
Во-вторых, как-то вывести весь текст между "//":
Возможно, Regex поможет?
Результат, которого я хочу добиться наглядно:
// // panel24 // this.panel24.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); this.panel24.Dock = System.Windows.Forms.DockStyle.Left; this.panel24.Location = new System.Drawing.Point(0, 2); this.panel24.Name = "panel24"; this.panel24.Size = new System.Drawing.Size(2, 45); this.panel24.TabIndex = 11; // // panel25 // и тд...
// // panel24 //
// this.panel24.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(204)))), ((int)(((byte)(204)))), ((int)(((byte)(204))))); this.panel24.Dock = System.Windows.Forms.DockStyle.Left; this.panel24.Location = new System.Drawing.Point(0, 2); this.panel24.Name = "panel24"; this.panel24.Size = new System.Drawing.Size(2, 45); this.panel24.TabIndex = 11; //
Решение задачи: «Анализ Designer.cs файла проекта»
textual
Листинг программы
int number = 0; int enumer = 0; for (var i = 0; i < massive.Count(); i++) { if (massive[i].Contains("// " + Name)) { if (massive[i - 1].Contains("//") & massive[i + 1].Contains("//")) { number = i + 1; RichTextBox rb = new RichTextBox(); for (var j = number; j < (massive.Count() - number); j++) { if (!massive[j].Contains("//")) { rb.AppendText(massive[j]); PropertiesList.Add(massive[j]); } else { //если дошли до строки с двойным слешем //то надо как-то из цикла выйти } } // foreach (Match match in Regex.Matches(input, @"//([\s\S]*?)//")) // PropertiesList.Add("index " + match.Groups[1].Index); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д