问题标签 [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.
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
go - 反映价值问题
在尝试测试此业务功能时:
我发现它没有通过我的理智测试:
负责修复这些错误的人不知道是什么导致了错误,更不用说如何修复它了,我和高级开发人员也不知道。因此,我试图隔离问题以尝试识别它。
我以为是什么
当我记录错误时,我认为它们是因为不知何故,value
正在与reflect.Value
返回的slice.Index(i)
. 我试过了
但这失败了。我可以通过测试的唯一方法是用来Int()
提取价值并使用
而不是文字3
,这是片状的 af。
问题是什么,我们如何解决?
javascript - Eslint 不认识 Reflect
我在我的代码中使用反射。问题是 Eslint 认为它是一个未声明的变量。我收到此错误:
我的.eslintrc
文件设置为 ECMAScript 2015:
不知道为什么将no-undef
规则应用于反射。我所有的代码通常都是 ECMAScript 2015,没什么不寻常的。
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 ???
缺少该行。我必须使用什么?
谢谢
go - 使用 Go Reflect 调用函数
我想知道是否有可能不知道函数名但无论如何调用它并从中获取值。这将我带到了反射包,我非常接近,但我不确定最后一步 - 如果有的话。如果我遗漏了一些明显的东西,请再次原谅我,这是我第一次尝试在 Go 中做任何事情,而不是设置它。
当然,作为一种编译语言,不需要遍历事物来查找函数名称,我都知道它们,但这是我想看看是否可能的东西……我正在玩耍和学习。
下面是代码。我真正想做的是在主行中提取 ModuleBoot() <“1.0012”, 23> 和 SomethingBoot() <“1.0000”, 10> 中设置的值,但目前我能得到的只是结构信息。也许这就是它的方式,但也许有一个步骤或改变可以使它进入下一步。
希望我正确复制了所有相关代码,以便按原样编译:
我从中得到的输出是:
go - 通过名称和参数调用使用 Go Reflect 的方法
这是使用 Go Reflect 调用函数的后续内容。
为了简化问题,我尽可能地删减了一些值,并且~希望~并没有在这个过程中让它变得不清楚。我在底部附近的代码“method.Call(env)”上遇到错误。
理想情况下,我想做的是尽量减少反射的使用,就像 ThunderCat 在上一个问题上所做的那样:
但如果这不可能,那么最简单的方法就可以了。如果这似乎是一个基本问题,我很抱歉,我对 Go 很陌生。
我得到的错误是:
这是因为我想用正确的签名将方法声明给函数,就像在上一个问题中所做的那样,但是经过相当多的玩弄之后,我还没有完全明白。
简化代码:
json - 由 reflect.New() 制成的 JSON 切片在 golang 中给出 null
我在 golang 中使用反射来制作一个新的初始化切片。但是当我 json.Marshal 这个新的反射切片时,我得到一个 JSONnull
值而不是一个[]
. 在此处查看此示例,其中我比较了两种情况:
这给出了以下输出:
请注意,case 1
并case 2
产生完全相同的日志输出,除了最终的 json 字符串,第一种情况显示null
,第二种情况显示[]
。
为什么会这样?我想要case 1
显示的是[]
因为我朋友的客户端应用程序总是需要一个数组,并且零长度数组不应该显示为空。
我究竟做错了什么?
angular - 错误:无法解析 ApplicationModule 的所有参数:(?)
我想在没有 CLI 的情况下创建 Angular 应用程序。之后我得到一个错误:
错误:无法解析 ApplicationModule 的所有参数:(?)。
项目包含几个文件,主要是:
• main.ts
• 组件.ts
• 模块.ts
我之前在 StackOverflow 上搜索过,但找不到解决方案。当有人想要在没有 @Injectable 装饰器的情况下注入服务时会发生类似的错误。就我而言,我没有任何服务,所以恐怕没有人有同样的错误。
Angular CLI 启动项目非常简单,但只有当您想要在没有生成器的情况下设置项目时,您才知道在引导应用程序期间需要创建哪些部分。
go - 如何从结构中指定我们想要使用的字段?
我有一个由多个相同类型的字段组成的结构。
我想将一个功能对三个字段执行相同的操作,但我只想每次都做一个。
该函数真的很长,我很困扰我将代码复制了 3 次,只是为了改变一行。我尝试了反射包。我认为这是一个危险的想法。
go - 反序列化未知 Go 的 gob blob
我有未知类型的gobs。有没有办法打印出来查看里面?
可能有gob.Debug
,但对我不可用
https://golang.org/src/encoding/gob/debug.go
谷歌搜索建议使用DecodeValue
,但它需要初始化reflect.Value
如果我得到未知的 gob blob,那么我无法传递未知类型的初始化值