gpt4 book ai didi

flash - AS3 : Overriding Proxy getProperty method

转载 作者:行者123 更新时间:2023-12-04 06:23:50 25 4
gpt4 key购买 nike

我在尝试使用 Proxy 时遇到了一个奇怪的问题。类并覆盖 getProperty()方法。我在下面附上了我的示例类代码:

package
{
import flash.utils.Proxy;
import flash.utils.flash_proxy;

public class Thing extends Proxy
{
// holder object
private var _holder:Object;

/**
* Constructor
*/
public function Thing()
{
_holder =
{
stuff: "thing"
};
}

/**
* Override getProperty
*/
override flash_proxy function getProperty(name:*):*
{
trace(name + " being accessed");
return _holder[name];
}
}
}

我一直在尝试使用它来将某些属性设为只读(根据 previous question of mine 上的答案),但是有一些我似乎无法解决的奇怪行为。

使用上面的方法,我尝试访问变量 stuff像这样:
var t:Thing = new Thing();
trace(t.stuff);

但是,这会引发以下错误:

1119: Access of possibly undefined property stuff through a reference with static type Thing.



但如果我这样做:
trace(t["stuff"]);

它工作正常。我究竟做错了什么?

最佳答案

这是因为您的类(class)不是动态的,只需添加“动态”关键字,一切都会好起来的:

public dynamic class Thing extends Proxy

关于flash - AS3 : Overriding Proxy getProperty method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6247754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com