|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
полный путь до класса по String( имени )
Есть возможность как то узнать полный путь до класса, зная только его имя 'Class' ?
|
|
|||||
.
|
Зная только имя -- нет. Имея на руках объект, то flash.utils.getQualifiedClassName()
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Вроде справился, но не так как хотел изначально. Впервые столкнулся с flash.utils и немного поэкспериментировав понял, что у меня не получается. Пошёл в гугл, там примеры такие же, как я изначально и делал. Но они так же не работали как показано ниже.
var name:String = 'MyClass'; var namePath:String = getQualifiedClassName(name); var nameClass:Class = getDefinitionByName(namePath) as Class; _dictionary[name] = new nameClass; |
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
Akopalipsis, без обид. Но вы в элементарных вещах путайтесь, и в то же время пытайтесь усложнять код.
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
Цитата:
|
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
Вы беретесь за разные темы. Это видно по вопросам. Но глубины проработки не видно. Это следует из повторения вопросов, на которые уже были даны ответы причем не по одному разу.
|
|
|||||
Banned
[+4 24.02.14]
[+4 07.11.13] [+ 13.03.14] Регистрация: Mar 2013
Сообщений: 1,864
|
Цитата:
и я тоже создал тему. Когда я изучал темы на гитхабе, то наткнулся на пример, где при помощи RL встраивали BulkLoader и я вспомнил, что мне давали на него ссылку. я начав думать о новом загрузчике, создал такую тему, затем продолжая делать самый минимальный пример загрузчика под RL столкнулся с тем, что мне не хотелось создавать сразу все классы которые занимаются загрузкой в зависимости от формата. Получилось вот что:.. но не факт что это правильно, не возможно знать всё и сразу. Но я стараюсь .. Со стороны может показаться, что я просто копирую код, так как даже в этом коде есть часть от BulkLoader, но это не так. я вижу что у него классы названы так, что понятно сразу и делаю так же. Даже я увидел после создания этой темы и понял, что это наверное то что мне надо, до этого я пытался тоже самое сделать но только названия классов и массива Vector.<String> брать ( тоже такую тему создал ). package loader_package { import flash.utils.Dictionary; import flash.utils.getDefinitionByName; import flash.utils.getQualifiedClassName; import test.ILoad; public class LoadingItemsLib { private var _dictionary:Dictionary = new Dictionary(true); private const CLASS_ITEMS : Object = { 'ImageItem':ImageItem }; public function LoadingItemsLib() { } internal function item(name:String):ILoad { if (_dictionary[name]) { return _dictionary[name] as ILoad; } else { var object:Object = CLASS_ITEMS[name]; var namePath:String = getQualifiedClassName(object); var nameClass:Class = getDefinitionByName(namePath) as Class; _dictionary[name] = new nameClass; return _dictionary[name] as ILoad; } } } } Цитата:
и о flash.utils.getQualifiedClassName() я знал за долго до создания темы, я рассчитывал, что есть ещё какой то не известный мне класс, которой может по строке узнавать путь до класса. Добавлено через 3 минуты И Спасибо за замечания! всегда так делайте! |
|
|||||
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Класс-телепат что-ли?
Ну вот Вам дали задание привести сюда Васю. Как Вы себе представляете "по строке узнать путь до класса", если классов с таким именем может быть сотня прямо в вашем приложении? Babylon пытается сказать, что у Вас знания какие-то несистематические. Это как знать вычисление гипотенузы по синусу и катету, но не знать о прямоугольном треугольнике. Очень странно пытаться разобраться в стороннем MVC-фреймворке на уровне "как сделано и почему", не зная при этом каких-то минимальных основ, про те же пакеты например. Это не наезд. Я хотел бы, чтобы Вы осознали обрывочность ваших знаний на этом этапе, и ПРИНЯЛИ МЕРЫ, чтобы залатать эти прорехи — почитали учебник, книгу, в которой знания даются систематизированно, а не кусками неопределенной сложности и зависимости. Не надо пытаться провести интернет в квартиры дома, у которого еще фундамент не заложен. Не надо хватать куски по принципу "ого как круто" из разных источников. Не то, что бы это Вас навсегда запутало. Просто очень много времени будет потрачено без толку, потому что во всем, что даже покажется понятым, останется соринка того, о чем Вы просто не знали, настолько элементарного, что никто об этом даже не подумал упомянуть. Соринка, из-за которой неправильным может оказаться все это "понимание". Изучите основы языка, прежде чем браться за ООП-фреймворки.
__________________
Reality.getBounds(this); |
Часовой пояс GMT +4, время: 16:16. |
|
« Предыдущая тема | Следующая тема » |
|
|