2010-08-17 75 views
0

我有幾個數據處理小部件都實現了一個自定義的IPropertyEditor接口。我想包含一個GetValue getter,但返回類型可以是String,Boolean或int,不在我頭頂。在AS3中,所有這些都是從Object繼承的,所以我可能會有 GetValue返回一個對象,但是我對這種方法感覺不太好。有問題主觀問題的風險,有沒有人有任何建議如何解決這個問題?可能返回多種類型的getter函數接口的最佳實踐

回答

1

在ActionScript我敢肯定,你可以通過以下方式定義功能設置變量返回類型:

public function getValue():* { 
    return "Any of these would be fine."; 
    return true; 
    return 1; 
    return new Sprite(); 
} 

希望有所幫助。

+1

+1,但您應該有返回類型的對象。 – 2010-08-17 16:41:59

+0

我仍在重構,但我會繼續並將其標記爲答案。我認爲它應該讓我走到哪裏。謝謝。 – ThatSteveGuy 2010-08-18 01:12:03

0

實際上,ActionScript中有一個實際的getter/setter模型。對於你的情況,你可以使用這樣的:

private var _value:*; 

public function get value() : * { 
    return _value; 
} 

public function set value(val:*) : void { 
    if (typeof val == "int" || typeof val == "boolean" || typeof val == "string") { 
    _value = val; 
    } 
} 

這限制了用戶設置(根據您的要求),這個「值」屬性的數據類型的價值詮釋,布爾,或字符串。