我有兩個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