无法再在 Flex 中使用 this[“propertyName”] 分配类属性值
给定如下所示的动态或非动态类:
package {
public class MyClass {
public var myProperty:String;
public var myBooleanProperty:Boolean;
public function MyClass() {}
}
}
Flex 3 允许您像这样向 myProperty 分配值:
myClassInstance["myProperty"] = "myValue";
myClassInstance["myBooleanProperty"] = true;
我定期解析 XML 以获取属性名称及其值,然后使用此技术更新相关类;但是,Flex 4 不再允许分配布尔属性。我没有解决方法。
如果跟踪结果:
trace(myClassInstance.myProperty) // Returns "myValue"
trace(myClassInstance.myBooleanProperty) // Returns null
有人可以解释发生了什么变化以及如何解决该问题吗?
Given a dynamic or non-dynamic class like the following:
package {
public class MyClass {
public var myProperty:String;
public var myBooleanProperty:Boolean;
public function MyClass() {}
}
}
Flex 3 allows you to assign a value to myProperty like this:
myClassInstance["myProperty"] = "myValue";
myClassInstance["myBooleanProperty"] = true;
I regularly parse XML to get property names and their values then update correlated classes using this technique; however, Flex 4 no longer allows assigning the boolean property. I don't have a work-around.
If you trace the results:
trace(myClassInstance.myProperty) // Returns "myValue"
trace(myClassInstance.myBooleanProperty) // Returns null
Can someone explain what has changed and how to work-around the issue?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对于 Flex SDK 4.1,这会输出“true”。
您的代码中可能还有其他问题吗?
This outputs "true" with the Flex SDK 4.1.
There may be something else wrong in your code?
您可以使用 Dictionary 类代替。
You can use Dictionary class instead.
您是否尝试过这样做?
这实际上是 AS3 中为公共属性赋值的标准方法。
Have you simply tried to do this?
This is actually the standard way of assigning a value to a public property in AS3.