2010-08-03 10 views

Antwort

13

Es gibt keinen direkten Weg. Das, was Sie tun können, ist zu überprüfen IsFamily und IsPublic Flagge MethodInfo:

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

'GetMethods' nicht nur' GetMethod', denke ich – abatishchev

4

Nun, können Sie nicht alle MemberInfo s und filtern sie heraus durch IsFamily und IsPublic Eigenschaften?

+0

Diese Antwort ist viel besser, wenn meiner Meinung nach zu den anderen verglichen. – 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); 
Verwandte Themen