Apache flex 创建一个全名的类并将其传递给自定义组件
我有类名:some.path.exampleclass,并且必须实例化这个类(比如getDefinitionByName()。问题是getDefinitionByName()生成类exampleclass,我需要全名为some.path.exampleclass的类将其传递给自定义组件:Apache flex 创建一个全名的类并将其传递给自定义组件,apache-flex,Apache Flex,我有类名:some.path.exampleclass,并且必须实例化这个类(比如getDefinitionByName()。问题是getDefinitionByName()生成类exampleclass,我需要全名为some.path.exampleclass的类将其传递给自定义组件: <tools:MyComp value="some.path.exampleclass"/> 有没有快速的解决方案?:) 如果您的目的是基于表示FXG元素的完全限定类名的字符串创建FXG元素的
<tools:MyComp value="some.path.exampleclass"/>
有没有快速的解决方案?:) 如果您的目的是基于表示FXG元素的完全限定类名的字符串创建FXG元素的实例,您可以这样做:
var classNameString :String = // your code to get the classname;
var class :Class = getDefinitionByName( className ) as Class;
var newObject : MyObject = new class() as MyObject;
这应该可以很好地与FXG元素配合使用。我在手机游戏中使用它
你提到:
Setter方法…需要使用完整路径类进行设置
不仅仅是getDefinitionByName给我的
getDefinitionByName返回类的实例。如果您的方法需要字符串,这就是getDefinitionByName不起作用的原因
有关更多详细信息,如果需要,您应该提供方法或属性的完整源代码。我不理解您正在寻找解决方案的问题。您可能需要尝试重新编写您的问题以使其更清楚。从HTTPservice中,我得到类似于:assets.some.class的内容。然后我做如下操作:var clazz:Class=getDefinitionByName(data.url)作为类;在itemRenderer中。。。接下来,我必须将clazz传递给组件,但完整路径为“assets.some.class”,getDefinitionByName只提供“class”。或者,更具体地说,我必须将FXG图像类传递给显示它的组件。该组件的Setter方法需要设置为完整路径类,而不仅仅是getDefinitionByName给我的那个类。。。