我知道AS3通常不允许方法或运算符重载,但我认为我之前已经看到了[]运算符的解决方法。基本上我试图继承或包装字典 - 我不一定关心哪个 - 并为该运算符创建稍微特殊的行为,即在连续两次使用的情况下(object [x] [y] )。我可以使用哪种特殊的解决方法或漏洞吗?谢谢!
答案 0 :(得分:4)
您可以使用Proxy
类覆盖getters
和setters
。
如果您延长Proxy
并制作课程dynamic
,您将能够覆盖这些方法:
使用[]
运算符将按预期应用于此(如果您覆盖thing.x
的getter,则thing["x"]
将与x
相同。
如果你查看我在上面添加的链接到Proxy类,有一些示例代码块可以演示如何实现你想要做的事情。