gpt4 book ai didi

haxe - 检查类的属性和类型

转载 作者:行者123 更新时间:2023-12-02 05:26:24 26 4
gpt4 key购买 nike

得到一个类,该类的方法接受一个对象并循环遍历它,将对象的值分配给类。这在应用程序中可能会发生很多,我想知道是否有一种有效且最好是与语言无关的语法来验证对象的属性名称是否存在并在分配给类之前确认值类型?我将需要将此代码导出到至少 flash 和 javascript,可能稍后再导出其他代码。我需要保持该方法的通用性,因为它存在于基类中。以下内容:

public function updateProperties(propsObj:Object):void {
for (var prop in propsObj) {
if (/* this has prop && typeof propsObj[prop] == typeof this[prop] */) {
this[prop] = propsObj[prop];
}
}
}

Haxe 的新手,所以我在寻找处理这类事情的方法系列时遇到了一些麻烦。 Reflect 似乎有接近我正在寻找的方法,但很多方法看起来对我需要的东西来说可能有点矫枉过正,希望能得到一些见解。

最佳答案

这似乎可行。

public function updateProperties(props:Dynamic) {
for (prop in Reflect.fields(props)) {
if (Reflect.hasField(this, prop)) {
Reflect.setProperty(this, prop, Reflect.getProperty(props, prop));
} else {
trace("cannot set property " + prop + " on " + this);
}
}
}

关于haxe - 检查类的属性和类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13016946/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com