2010-08-03 10 views

Odpowiedz

13

Nie ma bezpośredniej drogi. Rzecz można zrobić, to sprawdzić IsFamily i IsPublic banderą MethodInfo:

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

'GetMethods' nie tylko' GetMethod', jak sądzę – abatishchev

4

Cóż, nie możesz po prostu uzyskać wszystkich MemberInfo s i odfiltrować je przez właściwości IsFamily i IsPublic?

+0

Ta odpowiedź jest znacznie lepsza w porównaniu do innych w moim zdaniem. – 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); 
Powiązane problemy