问题标签 [reflect]

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 投票
1 回答
525 浏览

ios - IOS swift通过字符串获取类

我创建了两个视图。1. 故事板的 ViewController 2. 新类的 UIView。我想使用 UIView 类名:“ViewOne”来转换为一个类,然后将此 UIView 加载到 ViewController 中。

视图控制器代码:

}

UIView:ViewOne 代码:

结果:无法将“TestIOSReflect.ViewOne”(0x109bc9570)类型的值转换为“UIView”(0x10c2cdab0)。

我在以下建议后重新测试:在 ViewOne 类中:在 viewcontroller 类中添加“@objc(ViewOne)”:删除以下所有代码:

替换为以下代码:

运行项目后:在 ViewOne 类中,打印出 "It's ViewOne" ,但没有运行代码 self.backgroundColor = UIColor.yellow

0 投票
2 回答
165 浏览

go - 反映价值问题

在尝试测试此业务功能时:

我发现它没有通过我的理智测试:

负责修复这些错误的人不知道是什么导致了错误,更不用说如何修复它了,我和高级开发人员也不知道。因此,我试图隔离问题以尝试识别它。

我以为是什么

当我记录错误时,我认为它们是因为不知何故,value正在与reflect.Value返回的slice.Index(i). 我试过了

但这失败了。我可以通过测试的唯一方法是用来Int()提取价值并使用

而不是文字3,这是片状的 af。

问题是什么,我们如何解决?

0 投票
1 回答
199 浏览

javascript - Eslint 不认识 Reflect

我在我的代码中使用反射。问题是 Eslint 认为它是一个未声明的变量。我收到此错误:

我的.eslintrc文件设置为 ECMAScript 2015:

不知道为什么将no-undef规则应用于反射。我所有的代码通常都是 ECMAScript 2015,没什么不寻常的。

0 投票
2 回答
58 浏览

java - 使用“反射”获取参数值

我还在玩 Java,但我还没有经验……好吧,我的问题是:是否有可能动态地获取一个类的字段的值?这里有一个例子:“My_Zoo”是我的班级,它可以有不同的领域“动物”,即。狗1,狗2,鸡1,...

但我想动态获取它们的值(即公共字段'Number_of_arms')。

因此,对于 My_Zoo 类,我只有一个 Field 变量,我想从中获取值“Number_of_arms”。

我使用抽象类的原因是我回家对系统说:' Field字段是'动物'类型,然后给我参数'Number_of_arms'的值'

可能吗 ?

在代码中,??? Number_of_arms = field...Number_of_arms ???缺少该行。我必须使用什么?

谢谢

0 投票
2 回答
2897 浏览

go - 使用 Go Reflect 调用函数

我想知道是否有可能不知道函数名但无论如何调用它并从中获取值。这将我带到了反射包,我非常接近,但我不确定最后一步 - 如果有的话。如果我遗漏了一些明显的东西,请再次原谅我,这是我第一次尝试在 Go 中做任何事情,而不是设置它。

当然,作为一种编译语言,不需要遍历事物来查找函数名称,我都知道它们,但这是我想看看是否可能的东西……我正在玩耍和学习。

下面是代码。我真正想做的是在主行中提取 ModuleBoot() <“1.0012”, 23> 和 SomethingBoot() <“1.0000”, 10> 中设置的值,但目前我能得到的只是结构信息。也许这就是它的方式,但也许有一个步骤或改变可以使它进入下一步。

希望我正确复制了所有相关代码,以便按原样编译:

我从中得到的输出是:

0 投票
4 回答
482 浏览

go - 通过名称和参数调用使用 Go Reflect 的方法

这是使用 Go Reflect 调用函数的后续内容。

为了简化问题,我尽可能地删减了一些值,并且~希望~并没有在这个过程中让它变得不清楚。我在底部附近的代码“method.Call(env)”上遇到错误。

理想情况下,我想做的是尽量减少反射的使用,就像 ThunderCat 在上一个问题上所做的那样:

但如果这不可能,那么最简单的方法就可以了。如果这似乎是一个基本问题,我很抱歉,我对 Go 很陌生。

我得到的错误是:

这是因为我想用正确的签名将方法声明给函数,就像在上一个问题中所做的那样,但是经过相当多的玩弄之后,我还没有完全明白。

简化代码:

0 投票
1 回答
1084 浏览

json - 由 reflect.New() 制成的 JSON 切片在 golang 中给出 null

我在 golang 中使用反射来制作一个新的初始化切片。但是当我 json.Marshal 这个新的反射切片时,我得到一个 JSONnull值而不是一个[]. 在此处查看此示例,其中我比较了两种情况:

这给出了以下输出:

请注意,case 1case 2产生完全相同的日志输出,除了最终的 json 字符串,第一种情况显示null,第二种情况显示[]

为什么会这样?我想要case 1显示的是[]因为我朋友的客户端应用程序总是需要一个数组,并且零长度数组不应该显示为空。

我究竟做错了什么?

0 投票
2 回答
7356 浏览

angular - 错误:无法解析 ApplicationModule 的所有参数:(?)

我想在没有 CLI 的情况下创建 Angular 应用程序。之后我得到一个错误:

错误:无法解析 ApplicationModule 的所有参数:(?)。

项目包含几个文件,主要是:

• main.ts

• 组件.ts

• 模块.ts

我之前在 StackOverflow 上搜索过,但找不到解决方案。当有人想要在没有 @Injectable 装饰器的情况下注入服务时会发生类似的错误。就我而言,我没有任何服务,所以恐怕没有人有同样的错误。

Angular CLI 启动项目非常简单,但只有当您想要在没有生成器的情况下设置项目时,您才知道在引导应用程序期间需要创建哪些部分。

0 投票
1 回答
58 浏览

go - 如何从结构中指定我们想要使用的字段?

我有一个由多个相同类型的字段组成的结构。

我想将一个功能对三个字段执行相同的操作,但我只想每次都做一个。

该函数真的很长,我很困扰我将代码复制了 3 次,只是为了改变一行。我尝试了反射包。我认为这是一个危险的想法。

0 投票
1 回答
612 浏览

go - 反序列化未知 Go 的 gob blob

我有未知类型的gobs。有没有办法打印出来查看里面?

可能有gob.Debug,但对我不可用 https://golang.org/src/encoding/gob/debug.go

谷歌搜索建议使用DecodeValue,但它需要初始化reflect.Value 如果我得到未知的 gob blob,那么我无法传递未知类型的初始化值

https://play.golang.org/p/OWxX1kPJ6Qa