Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Можно ли создать объект класса по его (класса) имени (http://www.flasher.ru/forum/showthread.php?t=212935)

SpeakerG 30.05.2016 22:26

Можно ли создать объект класса по его (класса) имени
 
Допустим, есть функция, которая принимает аргумент типа String, соответствующий названию какого-либо класса. Можно ли внутри этой функции создать экземпляр этого класса? А передать в качестве параметра сам класс? Спасибо!

fresh.flash 30.05.2016 22:53

Код AS3:

trace(createInstance("flash.display.Sprite"));
public function createInstance(className:String):Object
{
        var myClass:Class = flash.utils.getDefinitionByName(className) as Class;
        var instance:Object = new myClass();
        return instance;
}


caseyryan 31.05.2016 07:39

Цитата:

А передать в качестве параметра сам класс?
Можно
Код AS3:

private function createInstanceByClass(SomeClass:Class):Object {
  return new SomeClass();
}

Цитата:

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

SpeakerG 31.05.2016 23:29

Спасибо! А что вернет getDefinitionByName(), если не писать as Class?

illuzor 01.06.2016 00:28

SpeakerG, В справке всё написано http://help.adobe.com/ru_RU/FlashPla...initionByName()


Часовой пояс GMT +4, время: 05:04.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.