Jak uzyskać MethodInfo tylko metod chronionych i publicznych?Uzyskiwanie metody MethodInfo tylko metod chronionych i publicznych?
Prosimy o radę.
Jak uzyskać MethodInfo tylko metod chronionych i publicznych?Uzyskiwanie metody MethodInfo tylko metod chronionych i publicznych?
Prosimy o radę.
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();
}
Cóż, nie możesz po prostu uzyskać wszystkich MemberInfo
s i odfiltrować je przez właściwości IsFamily
i IsPublic
?
Ta odpowiedź jest znacznie lepsza w porównaniu do innych w moim zdaniem. – 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' nie tylko' GetMethod', jak sądzę – abatishchev