Задать вопрос
@PashaKrizskiy

Как найти с помощью регулярных выражений все методы в C# коде?

Возникла такая задача: нужно парсить исходный код на языке программирования C# и "вытянуть" от туда все методы.
Собственно, я придумал довольно простое, но, как мне кажется, немного кривое решение.
Но для начала о том, как в общем случае может выглядеть метод на C#:
[аргументы][модификаторы доступа][тип возвращаемого значения][имя метода][круглые скобки, внутри которых находятся аргументы]{тело метода}.
Проблема возникает с нахождением именно ВСЕГО тела метода, т.к. единственные идетнификаторы начала и конца метода - фигурные скобки, которые, так же, могут использоваться внутри метода в циклах, условиях и т.п. То есть суть в том, что фигурных скобок много, и, собственно, тут и возникает проблема с созданием универсальной регулярки, с помощью которой за один раз можно вытянуть как сигнатуру метода, так и все его тело.
Как я эту проблему решаю:
Нахожу сигнатуру метода (это сделать не сложно с помощью регулярок), затем в цикле считываю последующие строки и считаю кол-во открывающихся и закрывающихся фигурных скобок, пока это количество не сравняется и в тоже время не будет равно 0. Все прекрасно работает, но, все же я таю надежду на то, что можно все это сделать как-то одной регуляркой, без использования цикла с проверкой и счетчиками скобок.
Буду очень благодарен за помощь и советы.
  • Вопрос задан
  • 161 просмотр
Подписаться 1 Оценить 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Wanted. Санкт-Петербург
До 450 000 ₽
Wanted. Санкт-Петербург
До 100 000 ₽
Wanted. Санкт-Петербург
До 120 000 ₽
02 февр. 2025, в 11:35
3000 руб./за проект
02 февр. 2025, в 11:29
1000 руб./за проект
02 февр. 2025, в 10:45
1000 руб./за проект