|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Обращение к статическим константам класса через переменную
Допустим у меня есть несколько классов с заданными константами (количество того-то, массив с тем-то)
public class RainbowDash { public static const TAIL_COLOR:uint = 0xff00ff; public static const NAME:String = "Rainbow Dash"; ... } public class PinkiePie { public static const TAIL_COLOR:uint = 0x0000ff; public static const NAME:String = Pinkie Pie"; ... } Допустим обработчик у нас такой: public class MeaninglessMachine { public static function process(classToProcess:Class):void { trace(classToProcess.NAME); } } Если делать передачу переменной типа Object - та же тема. Если делать через двойные скобки - тоже: Где собака зарыта? Я понимаю что можно сделать и другими методами, но стало интересно, как передавать нормальный референц на класс |
|
|||||
Цитата:
Цитата:
|
|
|||||
Можно достать через describeType, но в вашей задаче, я не уверен, что это хорошая идея.
__________________
местонахождение |
|
|||||
[+1 05.11.12]
Регистрация: Feb 2011
Сообщений: 431
|
Цитата:
Цитата:
__________________
Oomph Последний раз редактировалось AlexLucas; 04.09.2013 в 19:22. |
|
|||||
Банальный и типизированный if/switch не подходит? У Вас, что 100 таких классов?
__________________
http://www.chessmax.ru |
|
|||||
видимо undefined не из-за динамического доступа, а из-за чего-то еще
package { import flash.display.Sprite; public class Main extends Sprite { public function Main():void { process(Class1);// NAME : class1 process(Class2);// NAME : class2 } private function process(classToProcess:Class):void { trace( "NAME : " + classToProcess["NAME"] ); } } } class Class1 { static public const NAME:String = "class1"; } class Class2 { static public const NAME:String = "class2"; } |
Часовой пояс GMT +4, время: 09:55. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|