2

我知道AS3通常不允許方法或運算符重載,但我確實認爲我之前已經看到[]運算符的解決方法。基本上,我試圖從一個字典繼承或包裝 - 我不一定關心它 - 併爲該運算符創建稍微特殊的行爲,即在連續兩次使用它的情況下(object [x] [y] )。我可以使用這種特殊的解決方法或漏洞嗎?謝謝!在AS3中,如何覆蓋[]運算符的setters和getters?

回答

4

使用Proxy類可以覆蓋getterssetters

如果擴展Proxy,使你dynamic類,你就可以重寫這些方法:

使用[]運營商將適用於本作預期的(即,如果覆蓋x的獲取者,則thing.x將與thing["x"]相同)。

如果您看看我上面添加到Proxy類的鏈接,有示例代碼塊會演示如何實現您正在嘗試執行的操作。