我问过 this与 Python 相同的问题。
现在我想知道这是否可以在 AS3 中完成。
如果我有这样的事情:
package
{
public class SomeClass
{
private function A():void { C() }
private function B():void { C() }
private function C():void
{
// who is the caller, A or B ???
}
public function SomeClass()
{
A()
B()
}
}
}
尽管存在设计或其他问题,但这只是一个好奇心的问题。
注意:我喜欢访问调用者函数的实例,这样我就可以调用该调用者函数(如果我愿意的话)
注意 2 :这必须在不更改
function C()
的情况下完成签名
最佳答案
“与以前版本的 ActionScript 不同,ActionScript 3.0 没有 arguments.caller 属性。要获取对调用当前函数的函数的引用,您必须将对该函数的引用作为参数传递。”
来自 http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/arguments.html
这是你能做到的唯一方法,否则你需要创建一个全局变量来告诉什么函数正在调用 C
关于actionscript-3 - AS3 - 我可以访问调用我的对象(或函数)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2448079/