Wie bekomme ich MethodInfo nur von geschützten und öffentlichen Methoden?MethodInfo nur für geschützte und öffentliche Methoden abrufen?
Bitte beraten.
Wie bekomme ich MethodInfo nur von geschützten und öffentlichen Methoden?MethodInfo nur für geschützte und öffentliche Methoden abrufen?
Bitte beraten.
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();
}
Nun, können Sie nicht alle MemberInfo
s und filtern sie heraus durch IsFamily
und IsPublic
Eigenschaften?
Diese Antwort ist viel besser, wenn meiner Meinung nach zu den anderen verglichen. – 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' nicht nur' GetMethod', denke ich – abatishchev