是否可以根据运行时可用的信息将变量转换为其他类型?
如果我有:
interface Foo
{
}
class Bar implements Foo
{
public function new()
{
}
}
我想做这样的事情(方法是为了清晰起见而简化):
public static function dynamicCast<T : Foo>(target : Foo, cls : Class<T>) : T
{
var ret : T = cast(pTarget, cls);
return ret;
}
我收到以下编译错误:
Unexpected )
答案 0 :(得分:6)
我在official haxe documentation找到了答案。这是:
public static function dynamicCast<T : Foo>(target : Foo, cls : Class<T>) : T
{
if(Std.is(target, cls))
{
var ret : T = cast target;
return ret;
}
return null;
}