我知道 AS3 通常不允许方法或运算符重载,但我确实认为我以前见过 [] 运算符的解决方法。基本上我试图继承或环绕字典 - 我不一定关心哪个 - 并为该运算符创建稍微特殊的行为,即在连续使用两次的情况下 (object[x][y] )。是否有某种特殊的解决方法或漏洞可供我使用?谢谢!
最佳答案
您可以使用 Proxy
覆盖 getters
和 setters
类。
如果您扩展 Proxy
并使您的类动态
,您将能够重写这些方法:
使用 []
运算符将按预期应用于此(即 thing.x
将与 thing["x"]
如果您覆盖 x
的 getter)。
如果您查看我在上面添加到 Proxy 类的链接,就会发现一些示例代码块演示了如何实现您想要执行的操作。
关于actionscript-3 - 在 AS3 中,如何覆盖 [] 运算符的 setter 和 getter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13966153/