2009-08-11 39 views
1

我有一個靜態設置類,我的應用程序可以從中檢索設置。問題是這些設置中有一些是字符串,而另一些則是整數或數字。例如:Howto允許任何數據類型被ActionScript 3中的函數返回?

package 
{ 
    public final class Settings 
    { 
     public static function retrieve(msg:String) 
     { 
      switch (msg) 
      { 
       case "register_link": 
        return "http://test.com/client/register.php"; 
        break; 
          case "time_limit": 
            return 50; 
            break; 
      } 
     } 
    } 
} 

現在,在第一種情況下,應該發送一個字符串,並在第二一個uint。但是,如何在函數declarement中設置它?而不是例如。函數檢索(味精:字符串):字符串或...:uint?如果我沒有設置任何數據類型,我會收到警告。

回答

2

使用*

public static function retrieve(msg:String):* 
{ 
    if (msg == "age") { 
    return 23; 
    } else { 
    return "hi!"; 
    } 
} 
3

HanClinto已經回答了你的問題,但我想也只是記下的另一種可能的解決方案,保持返回類型,類型化。我也發現它是一個更清潔的解決方案。

而不是靜態檢索功能,你可以只使用靜態consts,如:

package 
{ 
    public final class Settings 
    { 
     public static const REGISTER_LINK:String = "my link"; 
     public static const TIME_LIMIT:uint= 50;    
    } 
} 

等等。這是個人喜好,但我想我會把它扔在那裏。

+0

非常感謝。 – Tom 2009-08-11 21:33:44

+0

我同意。儘管知道如何從一個函數返回不同類型是一件有用的事情......我從未在項目中做過它。使用具有靜態常量的類不僅更清潔,而且性能更高。 – 2009-08-12 13:39:24