Создайте экземпляр класса из строкового имени в Haxe - PullRequest
8 голосов
/ 08 сентября 2010

Допустим, я получил имя класса, который я создал как String. Как я могу создать экземпляр класса с именем, содержащимся в этой строке? Я знаю, что он будет производным от определенного родительского класса, но фактический класс будет отличаться.

1 Ответ

16 голосов
/ 08 сентября 2010
var instance : MyClass = Type.createInstance(Type.resolveClass("path.to.MyClass"), []);

Несколько заметок:

  • resolveClass() занимает полный путь (включая пакеты) необходимого вам класса
  • createInstance() принимает в качестве второго аргумента массив значений, которые применяются к конструктору. Эти значения должны быть в точном числе и должны быть переданы, даже если они являются необязательными (в этом случае NULL хороши).
...