问题标签 [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.
c# - 使用 System.Reflection 加载 ASP.NET 2.0 aspx 页面?
我可以使用 System.Reflection 在另一个独立的 aspx 页面中加载独立的 aspx 页面吗?
我正在使用 ASP.NET 2.0 网站项目模型。
.net - .NET 反射 - 查找定义静态成员的类型
我的反思有问题。我需要找到实例化静态成员的类型。我的代码如下所示:
PropertyRepository 是属性的存储库(显然)。它跟踪使用我正在构建的类型系统注册的所有属性。
为了成功地做到这一点,我需要跟踪所有属性以及定义它们的类型。否则,如果定义了两个具有相同名称的属性,属性存储库将无法区分它们。
所以,我想做的是找出定义 NameProperty 的类型并存储类型和名称。我怎样才能做到这一点?
我想使用强类型,即我不想将类型作为参数发送给PropertyRepository.Register。这很容易出错,因为我无法验证类型参数是否正确。
我想,解决方案将涉及反思。有没有办法使用反射来确定哪种类型调用静态方法?静态属性是使用静态构造函数(编译器生成的)隐式实例化的。有没有办法让我处理那个构造函数?这似乎可行,我只是不知道该怎么做。
换句话说:如果方法 A 调用方法 B,有什么方法 B 可以判断它是使用反射从 A 调用的吗?我想有,但我不知道如何。
有人知道吗?
编辑:我查看了 StackFrame 类,虽然它似乎做了我想要的,但它在生产代码中可能不可靠(我需要它)。
.net - 调用程序集获取应用程序名称
我有一个MyProgram.EXE
引用实用程序程序集的控制台应用程序 ()。
在我的实用程序程序集中,我有代码:
当我调用它时MyProgram.EXE
,我收到“ AppName is: Utilities.dll
”
我要的是“ AppName is: MyProgram.EXE
”
我究竟做错了什么?
c# - 使用反射获取方法名和参数
我正在尝试一种基于方法名称和参数以编程方式为Memcached创建密钥的方法。所以如果我有一个方法,
它会返回:
我知道您可以使用反射获取 MethodBase,但是如何获取字符串中的参数值,而不是参数类型?
.net - 从 .NET 中的字符串获取 Type 对象的最佳方法
在 .NET 中将字符串转换为 Type 对象的最佳方法是什么?
需要考虑的问题:
- 该类型可能在不同的程序集中。
- 该类型的程序集可能尚未加载。
这是我的尝试,但它没有解决第二个问题
asp.net - JavaScript 触发 - vb.net api 调用的反映?
您可以使用 javascript 代码的反射调用 vb.net api 函数吗?
我刚开始玩反射,我有这段代码可以工作,我想把它改成一个 javascript 页面。
有谁知道这是否可能?
c# - 反射 - 设置返回 obj 的类型?
我正在使用数据行填充不同类型的对象,相关对象的每个属性 = 到数据行中的类似名称字段。
我想使用一个通用函数来做到这一点。如何从泛型函数强制返回对象的类型。我还不知道<T>
语法的实际含义:
PopulateObject<T>
当我得到编译器错误时不返回类型 - 无法将类型'object'隐式转换为'JobCard'请参阅下面的代码
----第二个答案后更新----
使用此代码: private T PopulateObject(T dataObj, System.Data.DataRow dataRow) {
不过,我遇到了另一个障碍。其中一个属性实际上是另一个名为 Customer 的对象,它拥有 11 个属性。我怀疑还有更多的嵌套对象仍然潜伏着。我将如何处理这些嵌套对象的填充,数据行中只有 1 个字段?
要处理这些对象: - 我必须在父 Objdata 中提取 ChildObj 类型 - 调用我将 ChildObjType 和完整数据行传递给的 ProcessChildObj() 函数 - 并在 ProcessChildObj() 中进行名称匹配,并设置那个属性?
或(如上面的代码) - 递归调用 PopulateObject。然而,这给我带来了一个问题,因为编译器抱怨我尝试将 obj 类型传递给递归调用:
propertyitem.SetValue(dataObj, PopulateObject(propertyitem, dataRow), null); //导致编译器消息“运算符'<'不能应用于'方法组'和'System.type'类型的操作数”
如何提取嵌套 childObj 的类型以将类型作为参数传递?
c# - 快速访问在 C# 中包含属性的类型/方法/...
我在这里创建了一个名为 AAtribute 的自定义属性,例如一个名为 B 的类,其中一个或多个方法使用该属性。是否有可能在不遍历整个程序集并查看所有已定义方法的属性的情况下获取将属性(在本例中为 BMethod1)作为其属性(其中一个)的方法的 MethodInfo?它们是其他 AttributeTargets(参数/类型/属性/...)的模拟方式吗?我不想要使用该类型属性的所有方法的数组,而只想要具有此 Attirbute-object 的方法。我想用它对方法施加额外的约束(返回类型、参数、名称、其他属性使用,...)。
c# - 如何使用反射将构造函数作为 MethodInfo
构造函数如下所示:
我需要使用反射将它作为 MethodInfo 获取。它尝试了以下操作,但没有找到构造函数(GetMethod
returns null
)。
我究竟做错了什么?
.net - LoadFile 和 LoadFrom 与 .NET 程序集的区别?
LoadFile
我正在查看 msdn 文档,但对于使用程序集和LoadFrom
加载程序集时的区别,我仍然有些困惑。有人可以提供一个例子或类比来更好地描述它。MSDN 文档让我更加困惑。此外,除了它仅在反射模式下加载程序集之外,ReflectionOnlyLoadFrom
其他相同。LoadFrom
由于我的 .NET 经验不是最好的,这里有一些关于使用 LoadFile 的 MSDN 文档的问题:
LoadFile
1)检查具有相同标识但位于不同路径的程序集是什么意思?身份是什么(例子)?
2) 它声明LoadFile
不将文件加载到“LoadFrom Context”中,并且不使用加载路径解析依赖关系。这是什么意思,有人可以举个例子吗?
3)最后,它指出这LoadFile
在这种有限的情况下很有用,因为 LoadFrom 无法加载具有相同身份但路径不同的程序集;它只会加载第一个这样的程序集,这又让我想到了同样的问题,程序集的身份是什么?