Io uso Type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)
per recuperare una matrice di metodi per un determinato tipo.Filtraggio dei metodi generati automaticamente (getter/setter/add/remove/.etc) restituiti da Type.GetMethods()
Il problema è che il MethodInfo
restituito potrebbe includere metodi generati dal compilatore che non desidero. Per esempio:
proprietà
bool Enabled { get; }
sarà ottenerebool get_Enabled()
evento
SomethingChanged
otterràadd_SomethingChanged(EventHandler)
eremove_SomethingChanged(EventHandler)
Probabilmente posso aggiungere un po 'di logica filtro per sbarazzarsi di loro che potrebbe potenzialmente diventare molto complicato. Voglio sapere se c'è qualcos'altro che posso fare, ad esempio con le impostazioni BindingFlags
, per recuperare solo i metodi definiti dall'utente?
possibile duplicato [Trovare il PropertyInfo ospita dal MethodInfo di getter/setter] (http://stackoverflow.com/questions/520138/finding-the-hosting-propertyinfo-from-the- methodinfo-of-getter-setter) –