我有两个ArrayUtil
我需要从同一个类访问的类 - 它们都来自外部库并有不同的代码,所以我不能将它们合并。如何区分在as3中具有相同名称的两个导入?
如何在代码中消除歧义?
我试着做com.adobe.utils.ArrayUtil
内联,并且保留现有的导入,但是导致了undefined property com
错误。
干杯
我有两个ArrayUtil
我需要从同一个类访问的类 - 它们都来自外部库并有不同的代码,所以我不能将它们合并。如何区分在as3中具有相同名称的两个导入?
如何在代码中消除歧义?
我试着做com.adobe.utils.ArrayUtil
内联,并且保留现有的导入,但是导致了undefined property com
错误。
干杯
// 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");
}
}
}
包2类
// 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
这些库的名称是什么?尝试只用mx.adobe.utils.ArrayUtil作为第一个类的引用。
你可以最有可能使用的包名直接引用他们(即com.domandtom.MyUtils(打开它,你会看到它在类文件的顶部)定义。
我尝试这样做,我只是得到一个错误说“未定义的属性COM”(我想引用'com.adobe.utils.ArrayUtil.arrayContainsValue() ') – RodeoClown 2011-03-22 21:08:15
我不知道你的文件夹结构是什么。在你的包“com”文件夹中,你有com.adobe库吗?看起来你有帮助,虽然 – 2011-03-23 19:05:24
感谢多米尼克。原来我错过了进口。 – RodeoClown 2011-03-23 23:27:20
有没有类似的方法来访问静态方法? (即'如果(!com.adobe.utils.ArrayUtil.arrayContainsValue(monthNames,“total”))') – RodeoClown 2011-03-22 21:08:54
(我刚刚发布的线是我试过的,它给了我一个错误) – RodeoClown 2011-03-22 21:34:37
啊,我错过了第二次进口,所以消除歧义对班级来说并不意味着什么。谢谢! – RodeoClown 2011-03-22 21:40:53