Есть ли способ создать экземпляр класса, который реализует интерфейс на основе имени класса?
Я пытаюсь:
var ClassReference:Object = getDefinitionByName("movement.OuterSpaceMovement") as IMovement;
var m:IMovement = new ClassReference as IMovement;
trace("startup..." + m);
-Но я получаю сообщение об ошибке ReferenceError: Ошибка # 1065 (OuterSpaceMovement) не определена.
У меня есть несколько классов, которые реализуют один и тот же интерфейс (IMovement), но мне нужно иметь возможность генерировать новые экземпляры этих классов и затем передавать эти экземпляры как тип данных (тип данных IMovement) другим классам ...
Итак, я попробовал:
var ClassReference:Class = getDefinitionByName("OuterSpaceMovement") as Class;
var m:IMovement = new ClassReference() as IMovement;
и это, похоже, не работает ... но следующее
var m:IMovement = new OuterSpaceMovement();
делает ??