Comment obtenir MethodInfo des méthodes protégées et public uniquement?Obtenir MethodInfo des méthodes protégées et publiques seulement?
Veuillez nous aviser.
Comment obtenir MethodInfo des méthodes protégées et public uniquement?Obtenir MethodInfo des méthodes protégées et publiques seulement?
Veuillez nous aviser.
Il n'y a pas de voie directe. La chose que vous pouvez faire est de vérifier IsFamily
et IsPublic
drapeau de MethodInfo
:
minfo = b.GetType().GetMethod("publicProtectedMember",
BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
if (minfo.IsFamily || minfo.IsPublic)
{
string s = fd.Member();
}
Eh bien, ne pouvez-vous pas obtenir tous les MemberInfo
s et les filtrer par IsFamily
et IsPublic
propriétés?
Cette réponse est beaucoup mieux par rapport aux autres, à mon avis. – Andry
using System.Linq;
using System.Reflection;
var methods = foo
.GetType()
.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
.Where(m => m.IsFamily || m.IsPublic);
'GetMethods' pas simplement' GetMethod' je suppose – abatishchev