ではAS3
、次のメソッドは任意のタイプのパラメータを受け入れます。
public function myFunc(data:*) :void
タイプを特定のパッケージに限定することは可能ですか? このようなものかもしれません:
public function myFunc(data:(my.package:*)) //Accepts any type from my.package
ではAS3
、次のメソッドは任意のタイプのパラメータを受け入れます。
public function myFunc(data:*) :void
タイプを特定のパッケージに限定することは可能ですか? このようなものかもしれません:
public function myFunc(data:(my.package:*)) //Accepts any type from my.package
可能ですが、実行時にのみ型制御を行います。
import flash.utils.getQualifiedClassName;
public function myFunc(data:*):void {
if (data is Object) {
var fqcn:String=getQualifiedClassName(data);
if (fqcn.slice(0,10)!='my.package') return; // otherwise work
// work here
} // simple types process if needed
}
これは設計上の問題のように聞こえます。コンパイル中にこれを機能させる 1 つの方法は、パラメーターの型がカスタム クラスの場合です。
public function myFunc(data:MyCustomClass):void
my.package
内部のすべてのクラスが多様であると仮定すると、拡張するカスタム基本クラスを作成し、この基本クラスからObject
すべてのクラスを拡張することができます。my.package
もちろん、ただし、my.package
クラスの継承がそれほど広くない場合は、ここまで到達する必要はありません。たとえば、そのDisplayObject
中のすべてのクラスmy.package
がそのタイプである場合にのみ、から拡張する必要があります。
を使用して目的を達成する方法もあるかもしれませんnamespaces
が、私にはわかりません。