создание класса по имени из строковой переменной

Доброе время суток. Я както не нашел в документации возможно ли в Haxe сделать что то вроде. (применительно к Neko)
class A
{
   .....
   public function fun1()
   {
   }
   .....
}

var clDyn=createClassByName('A');
clDyn.callFunctionByName('fun1');
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Стоило задать вопрос как сразу нашел ответ. Если кому надо вот что то вроде примера
class A
{
   .....
   public function fun1()
   {
   }
   .....
}

var resolvClass = Type.resolveClass('A');
var control=Type.createInstance(resolvClass, []);
Reflect.callMethod(control, Reflect.field(control, "fun1"), []);
Ну и ссылка на то где обяснения проскакивали в рассылке http://lists.motion-twin.com/pipermail/haxe/2006-April/001961.html

Спасибо

Спасибо за публикацию с найденным ответом!

Кстати, Reflect.callMethod конечно работает, но он здесь не обязателен.
Последней строчкой может быть просто control.fun1();

мне нужно было

мне нужно было что то вроде

function go(cl: String, fun: String)
{
    var resolvClass = Type.resolveClass(cl);
    var control=Type.createInstance(resolvClass, []);
    Reflect.callMethod(control, Reflect.field(control, fun), []);
}

поэтому и функцию тоже надо вызывать через callMethod.
Но о control.fun1(), я даже не задумывался, поетому и вам спасибо.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <blockcode> <dd>
  • Строки и параграфы переносятся автоматически.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • You can enable syntax highlighting of source code with the following tags: <code>, <blockcode>.

Подробнее о форматировании

CAPTCHA
Этот вопрос помогает предотвратить автоматический спам
Image CAPTCHA
Enter the characters shown in the image without spaces, also respect upper and lower case.
To prevent automated spam submissions leave this field empty.