public function PubliCTest(_arg_1:MouseEvent):void {
trace("PubliCTestSub" + this.tell.text() + " , " + this.hello.text());
if (((this.istextValid()) && (this.istextsubValid()))){
var url:URLLoader = new URLLoader();
var req:URLRequest = new URLRequest("http://www.nasydbasda.com/tnewabsud.php");
var vars:URLVariables = new URLVariables();
vars.text1 = this.text1.text();
vars.textsub = this.textsub.text();
req.data = vars ;
req.method = URLRequestMethod.POST;
url.load(req);
url.addEventListener(Event.COMPLETE, reqcompleted);
}
this.onSignInSub();
}这是我的函数,我想从它中获取一些功能以供使用(另一个类中的另一个函数)。基本上,我如何从另一个类调用它,同时保持当前类中的所有数据(函数)。
发布于 2019-02-01 08:42:40
类方法是绑定的,它们将坚持自己的--这个对象--除非您强制传递另一个对象。这意味着,只要你能引用你的这个函数,你就可以在任何地方调用它。
解决方案1:单例模式。假设您只有/只需要使用该方法的类的一个实例,则可以将对类静态变量的引用作为YourClass.instance.yourMethod(args);调用
解决方案2:静态引用。基本上,相同的假设只有一个类实例,您可以绕过实例引用,声明一个公共变量来处理方法引用。你可以叫它YourClass.MyMethod();
package
{
public class YourClass
{
static public var MyMethod:Function;
// Class constructor.
public function YourClass()
{
MyMethod = yourMethod;
}
public function yourMethod():void
{
// ... whatever
}
}
}解决方案3:传递引用。如果由于有几个实例而不能使用单例(-like)解决方案,那么就直接通过应用程序架构传递方法引用。您可能需要阅读有关依赖注入的内容。
https://stackoverflow.com/questions/54473846
复制相似问题