【问题标题】:In AS3, how can you override the setters and getters for the [] operator?在 AS3 中,如何覆盖 [] 运算符的 setter 和 getter?
【发布时间】:2012-12-20 05:57:51
【问题描述】:

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

【问题讨论】:

    标签: actionscript-3 inheritance dictionary operators overloading


    【解决方案1】:

    您可以使用Proxy 类覆盖getters 和setters。

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

    使用[] 运算符将按预期应用于此(即,如果您覆盖x 的getter,thing.x 将与thing["x"] 相同)。

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

    【讨论】:

      猜你喜欢
      • 2014-08-05
      • 1970-01-01
      • 2018-11-08
      • 1970-01-01
      • 2011-03-11
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 2011-03-21
      相关资源
      最近更新 更多