如何“通过”方法传递任意一组参数?

问题描述

我使用的是 AIR v32.0。我有一个扩展 netConnection 的类。我需要覆盖接收任意一组参数的现有方法。我需要做一些零碎的事情,然后让原始代码处理剩下的事情。我知道如何接收参数“...参数”,但我在完成后找不到调用原始代码的正确方法。

到目前为止我所拥有的不起作用的是;

public override function call(strCommand:String,rspResponder:Responder,...parameters):void
{
    trace("parameters.length=" + parameters.length)
    if (parameters.length == 0)
    {
        super.call(strCommand,rspResponder);
    }
    else
    {
        super.call(strCommand,rspResponder,parameters);
    }
}

线;

super.call(strCommand,rspResponder);

按预期工作。

线;

super.call(strCommand,参数);

似乎没有被“调用”方法正确处理。

如何正确地将“...参数”传递给 netConnection 类的“super.call”方法?

编辑:

本身没有错误。发生的情况是它以网络服务不期望的格式向 FluorineFX 网络服务发送消息,然后 Ralphs 在其鞋子上。错误是“处理级别错误描述找不到名称为 LoginCheck 的合适方法”如果我删除覆盖的方法,一切正常。

当我在 Fiddler 中查看输出结果时,使用 & 而不使用覆盖方法运行它时,某些不可打印的字符存在差异。但我无法确定实际差异是什么。

附加编辑:

我有一个非常糟糕的部分工作(至少它有效),也许这会激发某人的想象力。我会不好意思把它投入生产。

public override function call(strCommand:String,...parameters):void
{
    trace("parameters.length=" + parameters.length)
    switch (parameters.length)
    {
        case 0:
            super.call(strCommand,rspResponder);
            break;
        case 1:
            super.call(strCommand,parameters[0]);
            break;
        case 2:
            super.call(strCommand,parameters[0],parameters[1]);
            break;
        case 3:
            super.call(strCommand,parameters[1],parameters[2]);
            break;
        case 4:
            super.call(strCommand,parameters[2],parameters[3]);
            break;
        case 5:
            super.call(strCommand,parameters[3],parameters[4]);
            break;
        case 6:
            super.call(strCommand,parameters[4],parameters[5]);
            break;
        case 7:
            super.call(strCommand,parameters[5],parameters[6]);
            break;
        case 8:
            super.call(strCommand,parameters[6],parameters[7]);
            break;
        case 9:
            super.call(strCommand,parameters[7],parameters[8]);
            break;
        case 10:
            super.call(strCommand,parameters[8],parameters[9]);
            break;
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)