C# 4.0 通过反射C排除getter和setter以及生成的成员#
我正在迭代类的方法 System.Data.Entity.DbContext 像这样: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类,我找不到方法 获取数据库
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?