Фильтрация автоматически сгенерированных методов (getter / setter / add / remove / .etc), возвращаемых Type.GetMethods ()

Я использую Type.GetMethods (BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic) для получения массива методов для данного типа.

Проблема в том, что возвращаемый MethodInfo может включать методы, которые генерируются компилятором, которые мне не нужны. Например:

  • свойство bool Включено {get; } будет get bool get_Enabled ()

  • event SomethingChanged получит add_SomethingChanged (EventHandler) и remove_SomethingChanged (EventHandler)

Я, вероятно, могу добавить некоторую логику фильтрации, чтобы избавиться от них, что потенциально может стать очень сложным. Я хочу знать, могу ли я что-то еще сделать, например, с настройками BindingFlags , чтобы получить только определенные пользователем методы?

16
задан Dan7 12 September 2010 в 13:04
поделиться