Возможно возможно сделать это с помощью регулярного выражения для очень ограниченного набора предопределенных определений методов, но, вероятно, невозможно в общем случае.То есть вы можете легко создать регулярное выражение, соответствующее «void method () {», и несколько простых вариантов.Но все усложняется очень быстро.Представьте себе этот метод:
public static Tuple<int, string, List<Tuple<int, string>>> DoSomething(<arbitrarily complex parameter list>)
{
}
Вы можете использовать регулярное выражение, чтобы получить отдельные токены (то есть "public", "static" и т. Д.), Но чтобы определить, является ли метод каким-либо методом, потребуется больше разборалогика, которую вы можете сделать только с помощью регулярных выражений.
Я бы посоветовал вам использовать ReSharper или какой-либо подобный инструмент, который может определить методы для вас.Если вы действительно не хотите реализовать большую часть синтаксического анализатора C #.