Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.03.2012, 20:50
red_penguin вне форума Посмотреть профиль Отправить личное сообщение для red_penguin Найти все сообщения от red_penguin
  № 1  
Ответить с цитированием
red_penguin
 
Аватар для red_penguin

Регистрация: Jun 2011
Адрес: Пенза
Сообщений: 74
Записей в блоге: 1
По умолчанию Как получить значения всех свойств класса?

Здраствуйте, форумчане.
Есть класс вида:
Код AS3:
package
{
public class test1
{
public static const CNST1:String = "test_const1";
public static const LOL:String = "lol";
public static const QWE:String = "qweqweqwe";
public static const ZXC:String = "zxczxczxc";
}
}
Как мне из класса test1 получить значения всех констант, учитывая что точное значение имен свойств я не знаю.

Старый 23.03.2012, 20:52
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 2  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Может следует использовать словарь? А по нему for (for-each)
__________________
тут я

Старый 24.03.2012, 05:48
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 3  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
Можно как то примерно так
Код AS3:
package
{
	import flash.display.Sprite;
	import flash.utils.describeType;
 
	public class GetAllConstSample extends Sprite
	{
		public static const CNST1:String = "test_const1";
		public static const LOL:String = "lol";
		public static const QWE:String = "qweqweqwe";
		public static const ZXC:String = "zxczxczxc";
 
		public function GetAllConstSample()
		{
			var allConst:XMLList = describeType(GetAllConstSample).constant;
 
			for each (var item:XML in allConst)
			{
				trace("GetAllConstSample." + item.@name + " = " + GetAllConstSample[item.@name]);
			}
		}
	}
}
__________________
trace("Остановите Землю, я сойду!!!");


Последний раз редактировалось Mur4ik; 24.03.2012 в 05:52.
Старый 24.03.2012, 13:17
red_penguin вне форума Посмотреть профиль Отправить личное сообщение для red_penguin Найти все сообщения от red_penguin
  № 4  
Ответить с цитированием
red_penguin
 
Аватар для red_penguin

Регистрация: Jun 2011
Адрес: Пенза
Сообщений: 74
Записей в блоге: 1
КорДум, этот класс? к стыду своему впервые его вижу попробую его.

stweet, нет не декомпилятор Пишу спец-класс, который будет брать из класса - хранилища данные и на основе их дергать музыку из библиотеки.

Mur4ik, спасибо. Интересный способ

Старый 24.03.2012, 16:00
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 5  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Или обычный Object с таким же циклом.
__________________
тут я

Старый 24.03.2012, 22:58
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 6  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
Цитата:
Сообщение от КорДум Посмотреть сообщение
Или обычный Object с таким же циклом.
как узнать что наткнулись именно на константу?

если имеется перебор и хранение данных в объекте, то не особо оно и лучше

Цитата:
Сообщение от red_penguin Посмотреть сообщение
Пишу спец-класс, который будет брать из класса - хранилища данные и на основе их дергать музыку из библиотеки.
Тогда уж проще в классе этом хранить не в константах, а в нормальном виде - массив/вектор, где будут нормальные понятные объекты с полем имя и путем или id соответствующего символа. Это более гибко и понятно.
__________________
trace("Остановите Землю, я сойду!!!");


Последний раз редактировалось Mur4ik; 24.03.2012 в 23:13.
Старый 24.03.2012, 23:48
КорДум вне форума Посмотреть профиль Отправить личное сообщение для КорДум Найти все сообщения от КорДум
  № 7  
Ответить с цитированием
КорДум
 
Аватар для КорДум

блогер
Регистрация: Jan 2008
Адрес: syktyvkar
Сообщений: 3,803
Записей в блоге: 10
Цитата:
как узнать что наткнулись именно на константу?
Никак, это не будет константами. Смею предположить, что в этом обджекте и будут только "константы".
__________________
тут я

Создать новую тему Ответ Часовой пояс GMT +4, время: 21:28.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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