问题标签 [system.reflection]

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

c# - C#:使用 System.Reflection.GetFields() 显示字段元数据

可能重复:
使用反射查找私有字段?

我正在尝试使用 System.Reflection.GetFields() 方法显示类的字段名称。

问题是它仅在字段被声明为“公共”时才有效。例如 :

当我尝试调用 System.Reflection.GetFields() 方法时,它不起作用(它返回一个空数组)。但是,如果我将字段的可见性更改为“公共”,它会起作用..

有谁知道我怎样才能让它工作而不必公开?

谢谢

0 投票
1 回答
89 浏览

c# - 尝试调用方法时出错

我有这个代码:

我只是想通过 System.Reflection.Emit 创建新方法。但这给我带来了这个错误:

有谁知道我必须如何修复它才能正常工作或错误在哪里?请帮忙。

0 投票
2 回答
1177 浏览

c# - Metro Style App 中的自定义类属性

我正在尝试在 Metro Style App 可移植库中定义和检索类的自定义属性。

就像是

这适用于普通 4.5,但在针对 Metro 风格应用程序的便携式库中,它告诉我

谢谢

0 投票
0 回答
246 浏览

c# - System.Reflection.Emit 中的缓慢类型创建

我正在开发一个需要大量使用 System.Reflection.Emit 来发出源代码的编译版本的项目,但是,当我发出整个东西时,我注意到速度很慢(我只发出了一部分用于测试)。也就是说,为 946 种类型调用“TypeBuilder.CreateType()”方法需要超过 75 秒,我会将其部分归结为我发出的大量数据,它是一个 3.01mb 的 dll,在反编译时会扩展为一个 60mb 的文件与 ILDasm。

现在,这个数据的其余发射过程总共只需要大约 40 秒,(这 40 秒包括发射相当多的调试数据)所以我想知道为什么这个单独的方法需要这么多时间。有人知道吗?有什么方法可以减少这个时间吗?

0 投票
2 回答
1771 浏览

c# - 如何使用 Roslyn 执行反射操作

我想使用 Roslyn 对以下类执行反射样式操作:

基本上我想这样做,但与罗斯林:

本质上,我想获得一个满足我在上面反射示例中使用的标准的方法列表。此外,如果有人知道一个解释如何使用 Roslyn 进行类似反射的操作的网站,请随时向我指出那个方向。我一直在寻找几个小时,似乎无法在这方面取得进展。

提前致谢,

鲍勃

0 投票
2 回答
330 浏览

c# - 创建运行时程序集的实例和分配属性

我需要创建一个通用解决方案来创建从 xsd 生成的类的实例。例如:

当我从这个 xsd 运行时生成程序集时,它将具有 PS、PSP 和 PSFX 类。在这种情况下,我知道属性和期望的内容,因此 createinstance 和 getproperties 和 setvalue 将起作用。我知道投资组合将有一系列 PortfoliosPortfolio。

现在我想要一个通用的解决方案,它可以采用任何 xsd(不仅仅是上面的)并生成一个程序集。我已经生成了汇编,但现在我的问题是如何为不知道其中存在哪些属性的类动态分配属性?我的意思是我如何知道一个类在创建通用解决方案时正在使用另一个类的对象列表。因此,有一种方法可以获取实例和属性,而不是对类名和属性名进行硬编码。正如您从上面的代码片段中看到的那样,我将 a 数据集中的值分配给属性。计划是将值作为列名、属性名和父节点存储在数据库中。因此 P 节点中的 PName 属性将来自列名 Pname。我希望以这样一种方式进行设计,即我的代码中不会有任何硬编码。

对不起,请多多包涵,如果我说得不对,请告诉我。

0 投票
1 回答
296 浏览

asp.net-mvc-3 - 如何访问自定义模型字段属性中的其他模型字段?

问题是我试图在 asp.net mvc3 中创建一个自定义模型字段属性需要访问其他模型字段。例如命名为“PersonId”。

所以我有一个这样的模型

我有自定义属性

所以基本上我需要在 [CustomAttribute] 中获取 aPersonId 字段以供进一步使用。我正在考虑使用反射,但不知道如何在那里获取模型对象。非常感谢您的帮助。

0 投票
9 回答
30444 浏览

c# - C#获取调用程序集的父程序集名称

我有一个正在开发的 C# 单元测试应用程序。涉及三个程序集 - C# 应用程序本身的程序集、应用程序使用的第二个程序集和第二个程序使用的第三个程序集。

所以电话是这样的:

在第三个程序集中我需要做的是获取称为第二个程序集的拳头程序集的名称。

返回第二个程序集的名称。和

返回 NULL

有人知道是否有办法获得第一届大会的大会名称吗?

根据其他用户的要求,我把代码放在这里。这不是 100% 的代码,而是遵循这样的代码。

和测试项目方法

0 投票
3 回答
6724 浏览

c# - 如何使用反射调用自定义运算符

在我的小项目中,我使用System.Reflection类来生成可执行代码。我需要调用+自定义类型的运算符。有人知道如何使用 C# 反射调用自定义类的自定义运算符吗?

0 投票
3 回答
3804 浏览

c# - C# 反射:如果...否则?

我目前面临运营商的新问题。使用以下代码,我想制作与if ... else在 C# 中使用 pair 时相同的输出。

我的问题是:

  1. 如何获取指令的地址以将其作为分支操作码的参数传递?
  2. BRBR_SBrtrueBrtrue_SBrfalseBrfalse_S类似的指令之间有什么区别吗?

谢谢。