2012-11-14 22 views
5

Çalışma zamanında mevcut bilgilere dayanarak bir değişken başka bir türe dönüştürülebilir mi?Haxe'de Dinamik Döküm

ben varsa:

interface Foo 
{ 
} 

class Bar implements Foo 
{ 
    public function new() 
    { 
    } 
} 

böyle bir şey (yöntem netlik için basitleştirilmiş) yapmak istiyorum:

public static function dynamicCast<T : Foo>(target : Foo, cls : Class<T>) : T 
{ 
    var ret : T = cast(pTarget, cls); 
    return ret; 
} 

aşağıdaki derleyici hatası alıyorum:

Unexpected) 

cevap

6

Yanıtı official haxe documentation'da buldum. İşte burada:

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; 
}