2

我知道 AS3 通常不允许方法或运算符重载,但我确实认为我以前见过 [] 运算符的解决方法。基本上我正在尝试从字典继承或环绕字典 - 我不一定关心哪个 - 并为该运算符创建稍微特殊的行为,即在它连续使用两次的情况下(object [x] [y] )。没有某种特殊的解决方法或漏洞我可以使用吗?谢谢!

4

1 回答 1

4

您可以覆盖getterssetters使用Proxy该类。

如果您扩展Proxy并创建您的类dynamic,您将能够覆盖这些方法:

使用[]运算符将​​按预期适用于此(即thing.xthing["x"]您覆盖 getter for相同x)。

如果您查看我在上面添加到 Proxy 类的链接,就会发现一些示例代码块演示了如何实现您正在尝试做的事情。

于 2012-12-20T06:10:11.663 回答