2010-08-03 10 views

Respuesta

13

No hay manera directa. Lo que puede hacer es comprobar IsFamily y IsPublic bandera de MethodInfo:

minfo = b.GetType().GetMethod("publicProtectedMember", 
     BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public); 
if (minfo.IsFamily || minfo.IsPublic) 
{ 
    string s = fd.Member(); 
} 
+0

'GetMethods' no solo' GetMethod' supongo – abatishchev

4

Bueno, ¿no puede obtener todos MemberInfo s y filtrarlos por IsFamily y IsPublic propiedades?

+0

Esta respuesta es mucho mejor en comparación con los otros en mi opinión. – Andry

2
using System.Linq; 
using System.Reflection; 

var methods = foo 
    .GetType() 
    .GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic) 
    .Where(m => m.IsFamily || m.IsPublic); 
Cuestiones relacionadas