如何在as3中区分两个具有相同名称的导入?

时间:2011-03-22 03:37:21

标签: actionscript-3 import disambiguation

我需要从同一个类访问两个ArrayUtil类 - 它们各自来自外部库并且具有不同的代码,因此我不能只将它们组合在一起。

如何在代码中消除歧义?

我尝试内联com.adobe.utils.ArrayUtil并保留现有导入,但导致undefined property com错误。

干杯

2 个答案:

答案 0 :(得分:3)

// In main class/timeline etc

import package1.*;
import package2.*;

var a1:package1.A = new package1.A();
var a2:package2.A = new package2.A();

包1类

// In package1.A.as
package package1 {

    public class A {

        public function A() {
            // constructor code
            trace("P1");
        }

    }

}

Package 2 Class

// In package2.A.as
package package2 {

    public class A {

        public function A() {
            // constructor code
            trace("P2");
        }

    }

}

输出

// Outputs
P1
P2

如果需要访问静态方法或属性。你会做类似以下的事情:

import com.adobe.utils.ArrayUtil;

var a:Array = ["A", "B", "C"];
trace(com.adobe.utils.ArrayUtil.arrayContainsValue(a, "B")); // outputs true

答案 1 :(得分:1)

图书馆的名称是什么?尝试使用mx.adobe.utils.ArrayUtil来引用第一个类。

你很可能使用包名直接引用它们(即com.domandtom.MyUtils(打开它,你会看到它在类文件的顶部定义)。