Может ли кто-нибудь помочь мне разобрать, следуя из декларации метода C#: scope, isStatic, имя, тип возврата и список параметров и их типов. Таким образом, данный метод декларируется следующим образом:Regex: анализ объявления метода C#
public static SomeReturnType GetSomething(string param1, int param2)
и т. Д. Мне нужно уметь разбирать его и получать информацию выше. Так что в этом случае
- имя = "GetSomething"
- сфера = "общественного"
- isStatic = истинный
- ReturnType = "SomeReturnType"
, а затем массив типа параметров и пар имен.
Ой почти забыл самую важную часть. Он должен учитывать все другие области (защищенные, частные, внутренние, защищенные внутренние), отсутствие «статического», недействительного типа возврата и т. Д.
Обратите внимание, что REFLECTION здесь не является решением. Мне нужен REGEX.
До сих пор у меня есть эти два:
(?:(?:public)|(?:private)|(?:protected)|(?:internal)|(?:protected internal)\s+)*
(?:(?:static)\s+)*
Я думаю, для остальной части проблемы я могу просто уйти с работы со строками без регулярных выражений.
Я не думаю, что отражение, чтобы это работало, вы смотрите на источник кода, но не имеете доступа к скомпилированной сборке этого кода? –
Да, на самом деле у меня есть код, но я создаю из него метаданные. – epitka
Отражение может быть гораздо более простым, тогда я отправлю пример. –