Получение MethodInfo только для защищенных и открытых методов?
Как я могу получить MethodInfo
за protected
а также public
только методы?
3 ответа
Решение
Прямого пути нет. Что вы можете сделать, это проверить IsFamily
а также IsPublic
флаг MethodInfo
:
minfo = b.GetType().GetMethod("publicProtectedMember",
BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.Public);
if (minfo.IsFamily || minfo.IsPublic)
{
string s = fd.Member();
}
Ну, ты не можешь просто получить все MemberInfo
и отфильтровать их IsFamily
а также IsPublic
свойства?
using System.Linq;
using System.Reflection;
var methods = foo
.GetType()
.GetMethods(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
.Where(m => m.IsFamily || m.IsPublic);