2011-11-21 55 views
1

是否有动态转换的方法?AS3,从字符串到数据类型x的动态转换

这是默认的方式转换成字符串:

VAR toVal:* = INT( “5”);
var toVal:* = Boolean(“true”);

但我wan't做到这一点:

变种类型:字符串= “INT”;
var toVal:* = type(“5”); // < < < < <我怎么能做到这一点

回答

5

尝试之一:

var type:Class = int; 
// or 
var type:Class = flash.utils.getDefinitionByName("int") as Class; 

var toVal:* = type("5"); 

示例程序:

var test:* = "5"; 

var type:Class = flash.utils.getDefinitionByName("int") as Class; 

var toVal:* = type("5"); 

if(test is String) { 
    trace("Test is a string"); // traces 
} 

if(test is int) { 
    trace("Test is an int"); // ignored 
} 

if(toVal is String) { 
    trace("toVal is a string"); // ignored 
} 

if(toVal is int) { 
    trace("toVal is an int"); // traces 
} 
+1

我认为你必须将它转换为'Class'分配它像这样一个强类型的变量。 'var type:Class = Class(int)',但除此之外它应该工作。 –

相关问题