|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: May 2011
Сообщений: 221
|
статическа константа типа Class равна нулю
где BuildMenu название класса. при попытке запросить значение константы вылетает сообщение о том, что константа равна нулю. Что я делаю не так?
|
|
|||||
Регистрация: Feb 2013
Сообщений: 176
|
Название класса, или всё же переменная с созданным классом?
|
|
|||||
Всё. Классы нужно импортировать, а не вешать на статические константы.
Хотя вот этот код, сработает: package { import flash.display.Sprite; public class Main extends Sprite { public static const SPRITE:Class = Sprite; public function Main() { trace(SPRITE); // [class Sprite] } } } Всё. Классы нужно импортировать, а не вешать на статические константы. Хотя вот этот код, сработает: |
|
|||||
Регистрация: May 2011
Сообщений: 221
|
Sync, Просто название класса. А что, нужно еще и класс конструировать? Объект-класс вроде бы и так создается
caseyryan, Мне просто нужно дианмически менять класс у создаваемых объектов. Например у меня есть переменная window:BaseWindow, которая может иницииализироваться как new ConcreteWindow1(); new ConcreteWindow2(); new ConcreteWindow3(); //... чтобы не писать длинющий свитч хотелось бы передавать в функцию класс, например |
|
|||||
Регистрация: Feb 2013
Сообщений: 176
|
|
|
|||||
Цитата:
__________________
Чтобы доказать, что вы не робот, причините вред другому человеку. |
|
|||||
Регистрация: May 2011
Сообщений: 221
|
GBee, да я вот уже думал об этом..
caseyryan, а есть где-нибудь статьи в контексте AS3? |
|
|||||
[+1 16.03.13]
[+1 22.03.13] Регистрация: Dec 2012
Сообщений: 100
|
Как вариант можно классы вызывать через их интерфейс:
package { public interface IBaseWindow { // Interface methods: function какая_нибудь_функция():void; } } И затем уже можете объявить переменную с типом этого интерфейса: и присваивать ей любой экземпляр класса, обладающий таким интерфейсом: |
|
|||||
Регистрация: May 2011
Сообщений: 221
|
ну, вобщем-то да, я остановился все таки на этом варианте ) как-то вообще не понимаю, почему мне не пришло это в голову...
|
Часовой пояс GMT +4, время: 10:46. |
|
« Предыдущая тема | Следующая тема » |
|
|