C# 4.0 通过反射C排除getter和setter以及生成的成员#

C# 4.0 通过反射C排除getter和setter以及生成的成员#,c#-4.0,system.reflection,C# 4.0,System.reflection,我正在迭代类的方法 System.Data.Entity.DbContext 像这样: var methods = t.GetMethods(BindingFlags.Public | BindingFlags.Instance); 现在,methods数组中的第一个方法是 获取数据库 返回类型为的对象 System.Data.Entity.Database 正如您所看到的,我只请求bindingflag实例和public的方法。 如果查看VS中的DbContext类,我找不到方法 获取数据库

我正在迭代类的方法

System.Data.Entity.DbContext

像这样:

var methods = t.GetMethods(BindingFlags.Public | BindingFlags.Instance);
现在,methods数组中的第一个方法是

获取数据库

返回类型为的对象

System.Data.Entity.Database

正如您所看到的,我只请求bindingflag实例和public的方法。 如果查看VS中的DbContext类,我找不到方法

获取数据库

它来自哪里

!m.IsSpecialName
这是最重要的

你必须应用一个过滤器来排除这些,我的情况我也要排除私人成员

var methods = t.GetMethods(BindingFlags.Public |
                           BindingFlags.NonPublic | 
                           BindingFlags.Instance |
                           BindingFlags.Static)
.Where(m => !m.IsSpecialName && m.IsPrivate == false).ToList();

或者它是属性数据库的getter?