Мне нужно, чтобы ActionScript Proxy мог быть преобразован в определенный интерфейс.
Вот пример без интерфейса:
public dynamic class Tracer extends Proxy {
flash_proxy override function callProperty(method:*, ... args):* {
trace(method + " " + args)
}
}
var t:* = new Tracer()
t.sayHello("123") // prints: "sayHello [123]"
Теперь мне нужно, чтобы слово t было типа Talker (не спрашивайте почему, я просто люблю статическую типизацию):
public interface Talker {
function sayHello(s:String):void
}
var t:Talker = new Tracer() // throws class cast exception
t.sayHello("123")
Вопрос: как разыграть прокси?
Например, решением для Java будет передача списка интерфейсов при создании нового прокси http://download.oracle.com/javase/6/docs/api/java/lang/reflect/Proxy.html
Реально ли это с ActionScript 3?