我正在迭代类
的方法像这样:System.Data.Entity.DbContext
var methods = t.GetMethods(BindingFlags.Public | BindingFlags.Instance);
现在,方法数组中的第一个方法是
get_Database
返回
类型的对象System.Data.Entity.Database
如您所见,我只使用bindingflag实例和public请求方法。 如果我看看VS中的DbContext类,我找不到方法
get_Database
它来自哪里?
答案 0 :(得分:0)
!m.IsSpecialName
在这里很重要。
你必须应用过滤器来排除这些,我的情况我也想排除私人成员。
var methods = t.GetMethods(BindingFlags.Public |
BindingFlags.NonPublic |
BindingFlags.Instance |
BindingFlags.Static)
.Where(m => !m.IsSpecialName && m.IsPrivate == false).ToList();