问题标签 [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 投票
2 回答
6241 浏览

c# - IsAssignableFrom 和 GetInterface 有什么区别?

在.Net中使用反射,有什么区别:

哪个更合适,为什么?

一个或另一个什么时候会失败?

0 投票
1 回答
296 浏览

c# - 如何在 C# (.NET 2.0) 中获取给定 TableAdaptor 和 SqlDataAdaptor 的 Sql 命令对象

我正在为我们的应用程序创建一个通用的错误处理/日志记录类。目标是记录异常信息、有关类和函数(以及参数)的信息,以及有关System.Data.SqlClient.SqlCommand对象的信息(如果相关)。

我希望能够处理传入SqlCommands,TableAdaptorsSqlDataAdaptors.

我是使用反射的新手,我知道可以做到这一点,我只是不知道如何去做。请指教。

0 投票
15 回答
1119 浏览

java - 您最喜欢的 Java API 领域是什么?

我很想知道其他 Java 程序员觉得他们最喜欢这门语言的什么部分,为什么他们会有这种感觉,以及为什么其他程序员也应该对它有深入的了解。我正在寻找简单、性能等原因。谢谢。

0 投票
9 回答
33670 浏览

c# - 通过反射访问集合

有没有办法使用反射对集合进行迭代(最好通过 foreach)?我正在使用反射迭代对象中的属性,当程序到达一个集合类型时,我希望它迭代集合的内容并能够访问集合中的对象。

目前,我在所有属性上都设置了一个属性,在作为集合的属性上将 IsCollection 标志设置为 true。我的代码检查这个标志,如果它是真的,它使用反射获取类型。有没有办法在集合上以某种方式调用 GetEnumerator 或 Items 以便能够迭代项目?

0 投票
12 回答
267792 浏览

java - 如何找出每个对象在 ArrayList 中的类型?

I have a ArrayList made up of different elements imported from a db, made up of strings, numbers, doubles and ints. Is there a way to use a reflection type technique to find out what each type of data ea

I have a ArrayList made up of different elements imported from a db, made up of strings, numbers, doubles and ints. Is there a way to use a reflection type technique to find out what each type of data each element holds?

FYI: The reason that there is so many types of data is that this is a piece of java code being written to be implemented with different DB's.


Just call .getClass() on each Object in a loop.

Unfortunately, Java doesn't have map(). :)

0 投票
3 回答
364 浏览

c# - 如何确定我的类实例上的泛型参数的值

我有一个标记接口定义为

我有一个实现 IExtender 的类

在运行时,我收到 UserExtender 类型作为我的评估方法的参数

如何让我的 Evaluate 方法返回

基于运行时评估。我确信涉及到反射,但我似乎无法破解它。

(我不确定如何措辞这个问题。我希望它足够清楚。)

0 投票
6 回答
8277 浏览

c# - 在 C# 中通过反射创建匿名对象

有没有办法在 .NET 3.5 中通过反射在运行时创建 C# 3.0 匿名对象?我想在我的序列化方案中支持它们,所以我需要一种以编程方式操作它们的方法。

稍后编辑以阐明用例

一个额外的限制是我将在 Silverlight 应用程序中运行所有这些,因此额外的运行时不是一个选项,并且不确定动态生成代码将如何工作。

0 投票
2 回答
13458 浏览

c# - 成员信息.GetValue() C#

如何获取实例的成员值?

使用 propertyInfos 有一个propertyInfo.GetValue(instance, index),但 memberInfo 中不存在这样的东西。

我搜索了网络,但似乎停止获取成员的姓名和类型。

0 投票
5 回答
13998 浏览

java - 确定类的扩展接口

我需要确定表示接口的 Class 对象是否扩展了另一个接口,即:

根据规范Class.getSuperClass() 将为接口返回 null 。

如果此 Class 表示 Object 类、接口、原始类型或 void,则返回 null。

因此以下将不起作用。

有任何想法吗?

0 投票
3 回答
3703 浏览

c# - Assembly.GetCallingAssembly() 和静态构造函数?

好的,所以我遇到了以下问题,引起了人们的注意。

由于各种原因,我有一个测试设置,其中 TestingAssembly.dll 中的测试类依赖于 BaseTestingAssembly.dll 中的 TestingBase 类。与此同时,TestBase 所做的一件事是在它自己和调用程序集中寻找某个嵌入式资源

所以我的 BaseTestingAssembly 包含以下几行......

静态,因为我认为这些程序集在应用程序的整个生命周期中都是相同的,所以为什么要在每次测试中重新计算它们。

但是,在运行此程序时,我注意到 _assembly 和 _calling_assembly 都分别设置为 BaseTestingAssembly 而不是 BaseTestingAssembly 和 TestingAssembly。

将变量设置为非静态并在常规构造函数中对其进行初始化修复了此问题,但我很困惑为什么会发生这种情况。我认为静态构造函数在第一次引用静态成员时运行。这只能来自我的 TestingAssembly,它应该是调用者。有谁知道可能发生了什么?