仅为受保护和公共方法获取MethodInfo?

时间:2010-08-03 06:10:59

标签: c# .net

如何仅为MethodInfoprotected方法获取public

3 个答案:

答案 0 :(得分:16)

没有直接的方法。你可以做的是检查IsFamily的{​​{1}}和IsPublic标志:

MethodInfo

答案 1 :(得分:4)

那么,您不能只获取所有MemberInfo并按IsFamilyIsPublic属性过滤掉它们吗?

答案 2 :(得分:2)

using System.Linq;
using System.Reflection;

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