是否可以根据运行时可用的信息将变量转换为另一种类型?
如果我有:
interface Foo
{
}
class Bar implements Foo
{
public function new()
{
}
}
Run Code Online (Sandbox Code Playgroud)
我想做这样的事情(方法是为了清晰简化):
public static function dynamicCast<T : Foo>(target : Foo, cls : Class<T>) : T
{
var ret : T = cast(pTarget, cls);
return ret;
}
Run Code Online (Sandbox Code Playgroud)
我得到以下编译器错误:
Unexpected )
Run Code Online (Sandbox Code Playgroud)
我在官方haxe文档中找到了答案.这里是:
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;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2686 次 |
| 最近记录: |