Я использую Type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)
для извлечения массива методов для данного типа.
Проблема заключается в том, что возвращаемый MethodInfo
может включать методы, которые генерируются компилятором, который я не хочу. Например:
-
свойство
bool Enabled { get; }
будет getbool get_Enabled()
-
событие
SomethingChanged
получитadd_SomethingChanged(EventHandler)
а такжеremove_SomethingChanged(EventHandler)
Возможно, я могу добавить некоторую логику фильтра, чтобы избавиться от них, что потенциально может стать очень сложным. Я хочу знать, есть ли что-то еще, что я могу сделать, например, с параметрами BindingFlags
, чтобы получить только определенные пользователем методы?