c #регулярное выражение -выберите имена свойств класса, имя метода и поля из файла класса (.cs)

Я хочу сопоставить (выберите из файла класса )имя метода, имя свойства и имя поля.

Это пример класса:

class Perl
{
    string _name;
    public string Name { get; set; }
    public Perl()
    {
    // Assign this._name
    this._name = "Perl";
    // Assign _name
    _name = "Sam";

    // The two forms reference the same field.
    Console.WriteLine(this._name);
    Console.WriteLine(_name);
    }
    public static string doSomething(string test)
    {
        bla test;
    }
}

Я получил код для методов:

(?:public|private|protected)([\s\w]*)\s+(\w+)\s*\(\s*(?:\w+\s+(\w+)\s*,?\s*)+\)

И у меня есть вопросы:

  • этот приведенный выше код регулярного выражения получает все методы и работает очень хорошо, но также я хочу, чтобы он выбрал имя метода, но без параметров и аксессуары. Таким образом, из класса exaplmce с использованием моего кода результат будет: общедоступный Perl()и public static doSomething (строковый тест)но я хочу такого результата:Перл()и сделай что-нибудь(). Так -мой код подходит хорошо, но я хочу, чтобы результат отображался так же, как я написал в предыдущем предложении.
  • как выбрать свойства? с отображаемым результатом :тип и свойство название. Таким образом, из примера класса результат будет:строка Имя
  • как выбрать поля с результатом :введите имя поля _. На всякий случай будет:строка _имя
5
задан born2fr4g 11 August 2012 в 20:46
поделиться