- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
因此,我试图检索我的类中具有特定属性的所有私有(private)方法。当我做的时候
this.GetType().GetMethods()
这将返回 18 个方法,所有方法都是公共(public)的。所以我尝试修改它以使用像这样的绑定(bind)标志:
this.GetType().GetMethods(BindingFlags.NonPublic);
这会导致返回零结果。然后我开始尝试,但我无法让 GetMethods(BindingFlags.x)
的任何覆盖工作。
this.GetType().GetMethods(BindingFlags.Default);
this.GetType().GetMethods(BindingFlags.Public);
所有这些都返回零结果。我做错了什么?
最佳答案
你应该通过 BindingFlags.Instance为了匹配实例方法:
this.GetType().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic);
如果您同时需要实例方法和静态方法,您还可以将 BindingFlags.Static
添加到标志中。
关于c# - GetType().GetMethods 在使用 BindingFlag 时不返回任何方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5030537/
我的代码可以看到非公共(public)成员,但看不到公共(public)成员。为什么? FieldInfo[] publicFieldInfos = t.GetFields(BindingFl
我使用以下代码来避免使用 switch 语句来决定调用哪个方法,它只与我设置的 BindingFlags 标志一起工作,没有 InvokeMethod。 InvokeMethod 的实际含义是什么,为
我记得在某处读过,当使用反射和接受 BindingFlags 位掩码的 GetMethod 重载时,BindingFlags.Default 是等效的到 BindingFlags.Public | B
我尝试获取所有类型的 BindingFlags(以便获取所有属性): BindingFlags ALL_BF = BindingFlags.CreateInstance | BindingFla
我正在寻找一种解决方案来访问类的“展平”(最低)属性值及其通过属性名称的反射派生的值。 即从 ClassB 或 ClassC 类型访问 Property1 或 Property2 : publi
我有一个通过调用 Type.GetProperty() 获得的对象我想知道用于检索它的绑定(bind)标志的组合。 当我在调试器中检查对象时,我可以看到它是 System.Reflection.Run
我有下面的代码。 public static IEnumerable GetAllPublicInstanceDeclaredOnlyProperties(this Type type)
假设我有以下程序: namespace ReflectionTest { public class Example { private string field;
方法 private static bool Properties(string a) { BindingFlags bindingFlags = 84; PropertyInfo p
假设我有一个带有私有(private)方法的类: public class Test { private void Method() { } } 还有这段代码: var met
因此,我试图检索我的类中具有特定属性的所有私有(private)方法。当我做的时候 this.GetType().GetMethods() 这将返回 18 个方法,所有方法都是公共(public)的。
想象一下 类型 T 有一个公司字段。当执行以下方法时,它完美地工作: Type t = typeof(T); t.GetProperty("Company") 虽然下面的调用我得到了 null Typ
我需要查看 MemberInfo 是否与特定的 BindingFlags 匹配。与此最接近的方法是 Type#GetMember(string, BindingFlags)。 我找不到任何方法来做到这
可能是个愚蠢的问题,但我在网上找不到任何解释。 这段代码不起作用的具体原因是什么?该代码应该将属性值从 Contact(源)复制到新实例化的 ContactBO(目标)对象。 public Conta
System.Reflection.BindingFlags怎么办? Public、NonPublic 和 Instance 对应于 C# access modifiers ? 下面的对应表正确吗?
在同时针对 net452 和 netstandard1.3 框架的 .NET Core 类库项目中,我试图将后者向后移动到 netstandard1.2 以扩展向后兼容性。 项目使用 BindingF
我正在使用反射类来获取某个对象内的所有字段。然而,我的问题是,当字段位于普通类中时,它可以完美地工作,例如: class test { string test1 = string.Empty;
我不知道这些是做什么用的。 documentation不是很清楚: GetField Specifies that the value of the specified field should be
运行单元测试时,在我的可移植运行时库 DLL 中调用任何引用“System.Reflection.TypeExtensions”的方法都会生成 FileNotFound 异常,搜索“System.Re
如果我用 sometype.GetProperties(); 我从类型及其父对象中获取所有属性。但是我只想检索在这种类型中明确定义的属性(而不是父类)。我认为这就是 BindingFlags.Decl
我是一名优秀的程序员,十分优秀!