2010-08-03 89 views

回答

13

沒有直接的辦法。你可以做的事情就是檢查IsFamilyIsPublic標誌MethodInfo

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

'GetMethods'不只是'GetMethod'我猜 – abatishchev 2010-08-03 08:00:51

4

那麼,你不能只是得到所有的MemberInfo s和IsFamilyIsPublic屬性?

+0

比別人在我看來,當這個答案要好得多。 – Andry 2017-05-15 12:47:22

2
using System.Linq; 
using System.Reflection; 

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