问题标签 [fieldinfo]

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 回答
14400 浏览

c# - 如何获取数组字段的 FieldInfo?

我正在尝试从结构中获取数组值的字段信息。到目前为止,我有以下内容,但我不知道如何获得我想要的信息。

所以如果我这样做了:

这将返回 Test2 类型,但我不想要数组的类型,我想要该结构的 FieldInfo 或 Fields,以便我可以在其中设置值。

0 投票
1 回答
19698 浏览

c# - 在 C# 中使用反射获取字段的属性

我写了一个从这样的对象中提取字段的方法:

我的类中的每个字段也有它自己的属性,在这种情况下我的属性称为 HTMLAttributes。在 foreach 循环中,我试图获取每个字段的属性及其各自的值。它目前看起来像这样:

我的属性类如下所示:

这似乎合乎逻辑,但它不会编译,我在 GetHTMLAttributes() 方法中有一条红色波浪线:

我试图从中提取属性的字段位于另一个类中,如下所示:

根据我的理解(或缺乏),这应该有效吗?请扩展我的思想开发人员!

*编辑,编译器错误

无法将类型“object[]”隐式转换为“data.HTMLAttributes[]”。存在显式转换(您是否缺少演员表?)

我试过这样投射:

但这也不起作用,我得到这个编译器错误:

无法将类型“object[]”转换为“data.HTMLAttributes”

0 投票
1 回答
123 浏览

c# - 如何获取引用字段的属性

我有一个问题:是否有一种优雅的方式来获取引用字段上的属性。IE。:

如何在方法 Do() 中获取字段的属性?

提前致谢。

0 投票
1 回答
1004 浏览

c# - 如何过滤作为类事件底层实现的 FieldInfo?

我想在不获取类事件的底层实现的情况下获取类的所有字段。type.GetFields(BindingFlags...) 返回事件字段的裸体委托。有谁知道如何过滤掉它们?

0 投票
1 回答
7643 浏览

.net - 如何通过反射引用字段

对不起,标题不明确。

除了我的先例问题,我想订阅一个方法来动态检索(通过反射)的事件对象。有问题的对象是 Control 的一个字段:

我不知道如何引用变量'button1'。我试过这样的事情:

但我在这里有一个例外:

System.ArgumentException 未处理 Message=Field 'button1' 在类型“WindowsFormsApplication1.Form1”上定义不是“System.Windows.Forms.Button”类型的目标对象上的字段。

0 投票
1 回答
2685 浏览

c# - FieldInfo.GetValue 为私有成员返回 null 而调试器指示字段非 null?

在 C# / .NET 4.0 中,我试图通过反射检索字段值:

我对这种情况感到有些困惑。返回的值为null,但该字段(通过调试器观察时)不为空。更令人费解的是,上面的代码适用于其他对象属性。

唯一奇怪的方面是两个标志,IsSecurityCritical但我什至不确定它是否与情况有关。IsSecuritySafeCriticaltrue

我以一个小的 HttpModule 结束了这种情况。

有什么建议可以解释这种行为吗?

0 投票
4 回答
1018 浏览

c# - C#:有没有办法访问当前字段的名称?

在 C# 中,我正在定义特定类的静态字段。在类中,我希望能够显示静态字段的名称,就像这样:

如果我现在访问:

我希望它返回:

我知道有一个静态函数 System.Reflection.MethodBase.GetCurrentMethod(),但据我所知,没有办法获取包含此当前方法的实例的名称?

还有 System.RuntimeFieldHandle 结构,但我无法识别任何 GetCurrentFieldHandle() 方法。

我不确定我是否遗漏了一些明显的东西?

非常感谢您对此的任何帮助。

0 投票
0 回答
346 浏览

c# - 在不使用 ac# 解析器的情况下获取字段的行号

我想获取类型字段的 #s 行。

要在方法中获取语句的 # 行,这很简单:

不幸的是,仅仅获得构造函数的局部变量是不够的,因为某些类型的变量可以是 const/static。

0 投票
3 回答
494 浏览

c# - C# - FieldInfo 和 PropertyInfo 是不可变的还是可变的?

基本上,我有以下内容:

FxCop 向我抱怨说,如果字段是可变的,我不应该将其设为只读,因为成员可以更改。FieldInfo 和 PropertyInfo 是不可变的还是可变的。基本上,我可以压制这条消息吗?

0 投票
1 回答
161 浏览

c# - Type.AssemblyQualifiedName for fields

Is there a way to get something like the Type.AssemblyQualifiedName property, which differentiates between a List of strings and a List of bytes, from a System.Reflection.FieldInfo?

The FieldInfo.GetFullName() method doesn't differentiate between the 2, and I need to be able to get the offset of a field, and still differentiate between List of strings and a List of bytes.