Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 无法再在Flex中使用此[";propertyName";]分配类属性值_Apache Flex_Flash_Actionscript_Flex4 - Fatal编程技术网

Apache flex 无法再在Flex中使用此[";propertyName";]分配类属性值

Apache flex 无法再在Flex中使用此[";propertyName";]分配类属性值,apache-flex,flash,actionscript,flex4,Apache Flex,Flash,Actionscript,Flex4,给定如下所示的动态或非动态类: package { public class MyClass { public var myProperty:String; public var myBooleanProperty:Boolean; public function MyClass() {} } } Flex 3允许您向myProperty分配如下值: myClassInstance["myProperty"] = "myValue"; myClassInsta

给定如下所示的动态或非动态类:

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以获取属性名及其值,然后使用此技术更新相关类;但是,Flex4不再允许分配布尔属性。我周围没有工作

如果跟踪结果:

trace(myClassInstance.myProperty) // Returns "myValue"
trace(myClassInstance.myBooleanProperty) // Returns null

有人能解释一下发生了什么变化以及如何解决这个问题吗?

你可以用class来代替。

你有没有试过这么做

  myClassInstance.myBooleanProperty = true;
这实际上是AS3中为公共属性赋值的标准方法


<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
               creationComplete="application1_creationCompleteHandler(event)"
               >
    <fx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            protected function application1_creationCompleteHandler(event:FlexEvent):void
            {
                var c:MyClass = new MyClass();
                c["myBooleanProperty"] = true;
                trace(c["myBooleanProperty"]);
            }

        ]]>
    </fx:Script>
</s:Application>
这将在Flex SDK 4.1中输出“true”。 您的代码中可能有其他错误