Переменная, которая ссылается на статический класс

#actionscript-3

#actionscript-3

Вопрос:

Это действительно глупый вопрос, но, возможно, кто-нибудь мог бы на него ответить.

Как я могу заменить

 public function Mainclass()
{
    Calculations.getDistance(5,9,4,2);
}
  

с чем-то вроде этого:

 private var math:Class = Calculations;

public function Mainclass()
{
    math.getDistance(5,9,4,2);
}
  

«:Class» не работает.

Я не ленив (лгу? :p), но я использую класс более 20 раз, и это выглядит лучше, если я заменю все эти длинные имена классов.

Ответ №1:

только что протестировано в моем проекте:

         private var fn:Function;
        /*...*/
        fn = PlayerMenu.makeBtn;
        var tf:TextField = new TextField();
        addChild(tf);
        fn(tf, new Point(500, 500), 'ololo');
  

работает нормально, однако не очень удобно, потому что FlashDevelop не выделяет аргументы

Комментарии:

1. Вы используете ссылку на функцию в классе PlayerMenu, я хочу ссылаться не на функцию, а на сам класс. Итак, не: fn:Function , но class:Class . Но :Class не работает.

2. тем не менее, вы можете объявить переменную типа ‘Function` и сохранить в ней ссылку на желаемую статическую функцию, не совсем то, что вы хотели, но, имхо, это способ украсить и вызовы этих функций 😉