1 static properties class actionscript-3
我有这个ObjectType类,它是一个类来帮助我做这样的事情:
object.type = ObjectType.TWO
//ObjectType.as
package
{
public class ObjectType
{
public static var ONE:String = "one";
public static var TWO:String = "two";
public static var THREE:String = "three";
public function ObjectType()
{
}
}
}
Run Code Online (Sandbox Code Playgroud)
假设我正在创建一个新类,我需要一个名为type的属性.在该属性集函数中,我想确保它的值是ObjectType变量之一.我怎样才能做到这一点?
public function set type(value:String):void
{
for (var o:Object in ObjectType) {
if (value == o)
this._type = value;
} else {
//error
}
}
}
Run Code Online (Sandbox Code Playgroud)
没有性能感知但没有修改任何东西你可以使用describeType函数来检查静态字段并获取值:
function valueInClass(clazz:Class, value:*):Boolean {
return describeType(clazz).variable.(clazz[@name.toString()] == value).length() != 0
}
public function set type(value:String):void
{
if (valueInClass(ObjectType, value)) {
this._type = value;
} else {
//error
}
}
Run Code Online (Sandbox Code Playgroud)