我有一个扩展Proxy类的类,并且有一个名为num
的静态定义的成员变量:
public dynamic class TestProxy extends Proxy
{
private var num:Number = 100;
public function TestProxy()
{
super();
}
override flash_proxy function getProperty(name:*):*
{
trace("***** "+name);
}
}
我希望在尝试访问num
时调用getProperty()。它适用于任何尚未存在的字段,但不适用于预定义的字段。
有没有办法让这种情况发生?我可以以某种方式动态摆脱num
?或其他什么?
答案 0 :(得分:0)
如果是预定义的,为什么不能使用getter / setter方法和私有var的代理访问?
private var _num:Number = 100;
//....
function get num () : Number { }
function set num (val : Number) : void { }
答案 1 :(得分:0)
无法Proxy
访问类的私有预定义属性。如果您想要访问它,请将其公开,或重命名该变量,然后回复num
次来电:
public dynamic class TestProxy extends Proxy
{
private var _num:Number = 100;
public function TestProxy()
{
super();
}
override flash_proxy function getProperty(name:*):*
{
if (name == "num")
{
return _num;
}
}
}