Flexでは、Classオブジェクトがあるとします。それが表すクラスの文字列を取得するにはどうすればよいですか?Flex:指定されたClassオブジェクト、それが表すクラスの名前を取得
例えば:
var clazz:Class= String;
trace(clazz); // this gives "[class String]" but what I want is "String"
Flexでは、Classオブジェクトがあるとします。それが表すクラスの文字列を取得するにはどうすればよいですか?Flex:指定されたClassオブジェクト、それが表すクラスの名前を取得
例えば:
var clazz:Class= String;
trace(clazz); // this gives "[class String]" but what I want is "String"
flash.utils::getQualifiedClassName
は、あなたが探している機能です...;)
greetzここ
は、この仕事をしていますか?
trace(clazz.toString());
私が言ったように、clazz.toString()は "[class String]"を返します – paleozogt
クラスについてのすべてを知りたい場合は、describeTypeを使用してください。関連する有用なgetDefinitionとgetDefinitionByNameがあります。
describeTypeは、すべての詳細をXMLオブジェクトに返します。これは一般的なActionScriptのある
trace(describeType(String)[email protected]);
:あなただけの名前を探しているなら、 のような何かを試してみてください。これはflexフレームワークに依存しません。 Goodluck。
これは動作しますが、getQualifiedClassName()よりもかなり遅いことに注意してください。 –
あなたは、基本クラスを取得することができます、私がやったシンプルAS2コードです
back2dosと文字列として現在のクラス:現在のクラスが空の場合
が、これは
public function ObjectContructor(){
var _construct:String;
var _instance:String;
for(var s:String in _global){
if(this.constructor == _global[s])_construct = s;
if(this instanceof _global[s] && this.constructor != _global[s])_instance = s;
}
trace("base class : " +_construct);
trace("Current class : " + _instance);
}
基底クラスです
getQualifiedClassName(clazz)は "String"を返します。私はそれが "クラス"を返すと期待した! – paleozogt
flash.utils :: getDefinitionByName()は文字列を受け取り、Classを返します。 – zenazn