Форум 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=88955)

BlooDHounD 04.12.2006 21:42

интересная конструкция. (...)
 
Код:

// класс
public class MyClass {
        public function MyClass(id:uint, type:String, ... params) {
                // тут что-то порисходит. не важно.
        }
}

//функция есть
public function getMyClass(id:uint, type:String, ... params):MyClass {
        // вот тут косяк.
        // как передать params в конструктор грамотно и без лишних
        // извращений.
        return new MyClass(id, type, ...);
}

Смысл в том что может всё-таки есть нормальный способ, а то apply юзать не хочется, а чувствую, что придётся.

Если бы был просто массив то я применил бы apply не задумываясь, но тут сперва придётся дабавлять в массив первых 2 элемента, что само по себе мне кажется не совсем нормальным решением.

ir73 04.12.2006 22:21

попробуй глянь mx.utils.Delegate из 8ого флеша, может натолкнет на что-то. Мне тоже кстати и нтересно как это можно реализовать.

etc 05.12.2006 00:41

А что мешает в params запихнуть первые два элемента в начале и заэплаить их?

BlooDHounD 05.12.2006 14:03

ir73, если бы я пёрся от не нужного, по-моему скромному мнению, класса Delegate, который появился, кстати, задолго до появления 8го флэша, я бы не постил вопрос в ветку по 3му АС :)

__etc, ничего не мешает:
Цитата:

Смысл в том что может всё-таки есть нормальный способ, а то apply юзать не хочется, а чувствую, что придётся.

Если бы был просто массив то я применил бы apply не задумываясь, но тут сперва придётся дабавлять в массив первых 2 элемента, что само по себе мне кажется не совсем нормальным решением.

etc 05.12.2006 14:04

А чем тебе это решение не нормально?

BlooDHounD 05.12.2006 14:14

ну не знаю. просто как-то не логично. делают возможность принимать остаток параметров, но не дают так же красиво и этэтично передать их в такую же функцию.

etc 05.12.2006 14:17

Я думаю, красиво тут не будет, apply — первое и, возможно, единственное решение.

BlooDHounD 05.12.2006 14:45

ну сделал чрезе apply. но если вдруг кто знает другое решение - буду признаетелен.

BlooDHounD 05.12.2006 15:09

хех :) сделать сделал, да вот только не работает. как к конструткору применить apply ??? %)

etc 05.12.2006 16:51

Мммм, конструктор не является функцией…
Щас поковыряюсь, но что-то затык.

Можно, конечно, поставить проверку на длину params и, если она равна единице, то брать внутренний массив.


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

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