问题标签 [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.

0 投票
3 回答
43728 浏览

c# - BindingFlags.IgnoreCase 不适用于 Type.GetProperty()?

想象以下

类型 T 有一个字段 Company。执行以下方法时,它可以完美运行:

虽然下面的电话我得到了空

有人有想法吗?

0 投票
6 回答
42671 浏览

c# - 未使用 BindingFlag.Default 从 GetType().GetFields 获取字段

我正在使用反射类来获取某个对象内的所有字段。但是,我的问题是,当字段位于普通类中时,它可以完美运行,例如:

在这里,我得到了 test1 和 test2,我的问题是我使用抽象,因此结合了几个类。

我得到了类似的东西:

但是当我运行它时,我没有从GetType().GetFields(BindingFlag.Default).

这些领域的每个人也都有一个属性,get; set;附加到它上面。当我运行代码时,我将属性一直返回到 test1 而不是实际的字段。

这是我试图获取字段的代码:

我也试过:

我对属性使用相同的代码:

任何想法为什么我从抽象类而不是字段中获取属性?

0 投票
3 回答
140 浏览

c# - 使用 BindingFlags 过滤“自己的成员”

我得到以下代码:

然后我想过滤属性,以便我只获得 SpeedValue 属性。我认为以下代码可以,但它不起作用:

在“道具”中,我得到了 SpeedValue 和 Name 属性,但在“filteredProps”中,我什么也没得到……有什么帮助吗?

0 投票
1 回答
617 浏览

c# - 使用反射 (C#) 获取 RuntimeMethodInfo 对象的 ReturnParameter 的 Name 属性

假设我在 C# 中有以下类:

基于反射,我可以获得 getID() (和/或) setID() 方法使用的字段的名称吗?(以防万一,[B_ID])我正在编写一个持久性框架,识别表的键名会很有用,它包含在上述两种方法中。

RuntimeMethodInfo 的 ReturnParameter 属性似乎有一个名为 Name 的属性,它应该可以帮助我解决这个问题,但它正在为空。

为了得到那个 RuntimeMethodInfo 对象,我使用这个 BindingFlags 枚举来获取一个 B 类实例的成员:

  • BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly

我怎样才能得到这个字段名?这种行为应该与属性相同。

提前致谢

0 投票
4 回答
1661 浏览

c# - 如何通过此条件获取继承类的属性

我有一个Person继承的类,PersonBase第二个类继承EntityBase

我需要获取属性PersonPersonBase类的列表:

现在GetProperties()是包括:FirstName, LastName, GroupName, Id, Error但我只需要自己的 Person 属性,即:FirstName, LastName, GroupName

当然,我在下面的代码中使用过,但它不适合我,因为它只包含Person类的属性。

如何获取仅在PersonPersonBase类上定义的属性?

0 投票
1 回答
1227 浏览

c# - 正确使用反射和绑定标志

我想修改下面的代码以便能够使用私有方法

我试过以下没有运气:

就这段代码而言,什么是“var”?我更喜欢指定它的类型而不是使用 var。

谢谢!

0 投票
3 回答
1710 浏览

c# - 使用 GetProperties 方法时如何排除静态属性

我想知道当我使用 GetProperties() 提取特定类的所有属性时是否可以排除静态属性。我知道为此使用 BindingFlags 来过滤我需要的属性,但我真正想要的是我想排除静态属性。我尝试使用这样的东西:

但我认为它不起作用,因为 VS 给我带来了一些语法错误。这是我的类里面的属性。

对于这种情况,我想在调用 GetProperties() 时排除“DataCtrl”属性。感谢您的回复。:)

0 投票
1 回答
462 浏览

c# - 通过反射访问看似公共的财产

大家好,

我正在努力确定尝试访问班级公共财产的问题。

我的需要是非常基本的。我有一个在我的例程中正确实例化的公共类,并且由于反射器,我知道这个类有一个我需要引用的属性。

问题是,该属性定义如下:

我面临的问题是,我所有获得房产的尝试都失败了。我已经实例化了类型,并尝试了所有可能的绑定标志组合

我的怀疑和怀疑围绕着这样一个事实,即根属性可能不是“可见的”,因为它的 getter 和 setter 是“无包装的”和“内部的”。可悲的是,我不知道这是否可以克服。

我想知道是否可以通过任何方式访问此属性,以及如何访问。

欢迎所有反馈。

提前致谢。

注意:直接寻址属性,如在“myobj.root”中会为未知属性生成编译器错误。

0 投票
2 回答
3981 浏览

c# - BindingFlags.Default 等价于什么?

我记得在某处读过,当使用反射时,它的重载GetMethod接受一个位掩码BindingFlagsBindingFlags.Default相当于BindingFlags.Public | BindingFlags.Static | BindingFlags.Instance或什么的。谁能告诉我具体包含哪些值BindingFlags.DefaultMSDN文档没有说,我在任何地方都找不到答案。

0 投票
1 回答
411 浏览

c# - 带有属性的方法的 BindingFlags

是否可以使用BindingFlags具有属性的 for 方法?我确实查看了msdn,BindingFlags但没有任何显示。这就是我的一种方法的样子:

我正在使用反射将我所有的 void 方法添加到列表框中,但我只想添加具有此属性的方法。

这就是我的使用方式BindingFlags

-instancemethArr在哪里MethodInfo