问题标签 [bindingflags]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - BindingFlags.IgnoreCase 不适用于 Type.GetProperty()?
想象以下
类型 T 有一个字段 Company。执行以下方法时,它可以完美运行:
虽然下面的电话我得到了空
有人有想法吗?
c# - 未使用 BindingFlag.Default 从 GetType().GetFields 获取字段
我正在使用反射类来获取某个对象内的所有字段。但是,我的问题是,当字段位于普通类中时,它可以完美运行,例如:
在这里,我得到了 test1 和 test2,我的问题是我使用抽象,因此结合了几个类。
我得到了类似的东西:
但是当我运行它时,我没有从GetType().GetFields(BindingFlag.Default)
.
这些领域的每个人也都有一个属性,get; set;
附加到它上面。当我运行代码时,我将属性一直返回到 test1 而不是实际的字段。
这是我试图获取字段的代码:
我也试过:
我对属性使用相同的代码:
任何想法为什么我从抽象类而不是字段中获取属性?
c# - 使用 BindingFlags 过滤“自己的成员”
我得到以下代码:
然后我想过滤属性,以便我只获得 SpeedValue 属性。我认为以下代码可以,但它不起作用:
在“道具”中,我得到了 SpeedValue 和 Name 属性,但在“filteredProps”中,我什么也没得到……有什么帮助吗?
c# - 使用反射 (C#) 获取 RuntimeMethodInfo 对象的 ReturnParameter 的 Name 属性
假设我在 C# 中有以下类:
基于反射,我可以获得 getID() (和/或) setID() 方法使用的字段的名称吗?(以防万一,[B_ID])我正在编写一个持久性框架,识别表的键名会很有用,它包含在上述两种方法中。
RuntimeMethodInfo 的 ReturnParameter 属性似乎有一个名为 Name 的属性,它应该可以帮助我解决这个问题,但它正在为空。
为了得到那个 RuntimeMethodInfo 对象,我使用这个 BindingFlags 枚举来获取一个 B 类实例的成员:
- BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly
我怎样才能得到这个字段名?这种行为应该与属性相同。
提前致谢
c# - 如何通过此条件获取继承类的属性
我有一个Person
继承的类,PersonBase
第二个类继承EntityBase
:
和
和
我需要获取属性Person
和PersonBase
类的列表:
现在GetProperties()
是包括:FirstName, LastName, GroupName, Id, Error
但我只需要自己的 Person 属性,即:FirstName, LastName, GroupName
当然,我在下面的代码中使用过,但它不适合我,因为它只包含Person
类的属性。
如何获取仅在Person
和PersonBase
类上定义的属性?
c# - 正确使用反射和绑定标志
我想修改下面的代码以便能够使用私有方法
我试过以下没有运气:
就这段代码而言,什么是“var”?我更喜欢指定它的类型而不是使用 var。
谢谢!
c# - 使用 GetProperties 方法时如何排除静态属性
我想知道当我使用 GetProperties() 提取特定类的所有属性时是否可以排除静态属性。我知道为此使用 BindingFlags 来过滤我需要的属性,但我真正想要的是我想排除静态属性。我尝试使用这样的东西:
但我认为它不起作用,因为 VS 给我带来了一些语法错误。这是我的类里面的属性。
对于这种情况,我想在调用 GetProperties() 时排除“DataCtrl”属性。感谢您的回复。:)
c# - 通过反射访问看似公共的财产
大家好,
我正在努力确定尝试访问班级公共财产的问题。
我的需要是非常基本的。我有一个在我的例程中正确实例化的公共类,并且由于反射器,我知道这个类有一个我需要引用的属性。
问题是,该属性定义如下:
我面临的问题是,我所有获得房产的尝试都失败了。我已经实例化了类型,并尝试了所有可能的绑定标志组合
我的怀疑和怀疑围绕着这样一个事实,即根属性可能不是“可见的”,因为它的 getter 和 setter 是“无包装的”和“内部的”。可悲的是,我不知道这是否可以克服。
我想知道是否可以通过任何方式访问此属性,以及如何访问。
欢迎所有反馈。
提前致谢。
注意:直接寻址属性,如在“myobj.root”中会为未知属性生成编译器错误。
c# - BindingFlags.Default 等价于什么?
我记得在某处读过,当使用反射时,它的重载GetMethod
接受一个位掩码BindingFlags
,BindingFlags.Default
相当于BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance
或什么的。谁能告诉我具体包含哪些值BindingFlags.Default
?MSDN文档没有说,我在任何地方都找不到答案。
c# - 带有属性的方法的 BindingFlags
是否可以使用BindingFlags
具有属性的 for 方法?我确实查看了msdn,BindingFlags
但没有任何显示。这就是我的一种方法的样子:
我正在使用反射将我所有的 void 方法添加到列表框中,但我只想添加具有此属性的方法。
这就是我的使用方式BindingFlags
:
-instancemethArr
在哪里MethodInfo