我在课堂上有一堆变量。在某些情况下,我想将其设置为null /" temp"等等,根据定义明确的逻辑。挑战在于列出多个地方的变量 - 繁琐且容易出错。
classname.speed = NaN的
classname.speedtype =" not_set"
classname.distance = NaN的
classname.distancetype =" not_set"
理想情况下,更喜欢以编程方式引用这些变量并设置类似的方法 "对于所有类变量 - 如果变量以类型结尾,则设置为" not_set&#34 ;;其他变量设置为NaN
我怎样才能做到这一点?任何指针都会有所帮助
答案 0 :(得分:1)
最简单的方法就是写函数来清除它们
如果你想要更自动化的东西,它将需要努力 - 看看introspection api。基本上,您在类上调用describeType
并返回XML描述。所有变量将与其他信息一起列在那里。然后,您可以解析返回的XML并将所有变量设置为所需的值,并使用方括号语法动态访问它们:
var myClass:MyClass = new MyClass();
myClass["varName"] = "new value";
答案 1 :(得分:0)
可以通过继承来实现,即实施 界面或扩展 类 其中包含公共字段
public class MyClass
{
public a:String = null;
public b:String = null;
public function MyClass()
{
}
}
包含常见var和Child Class的可以是
public class MyClassChild extends MyClass
{
public var c:String = null;
public function MyClassChild()
{
super();
this.a ="";
this.b ="";
}
}
你可以为每个循环强制转换或使用它来设置值
var temp:MyClassChild = new MyClassChild ();
MyClass(temp).a = "Hello World";
希望有所帮助