Как сопоставить типы данных с пользовательскими типами?

Рассмотрим следующую функцию:

public function foo(bar1:int, bar2:****, bar3:String, bar4:Boolean):void{}

Я хочу, чтобы различные типы данных представлялись пользовательскими именованными типами, которые по существу представляют собой исходные типы данных. Другими словами, я хотел бы проксировать типы данных и иметь действительную функцию следующим образом:

public function foo(bar1:PAR_Bar1, bar2:PAR_Bar2, bar3:PAR_Bar3, bar4:PAR_Bar4):void{}

поэтому PAR_Bar1 будет проксировать тип данных int, PAR_Bar2 будет проксировать **** данных ****, так далее и т.д.

Причина, по которой я нуждаюсь в этом, заключается в том, что я использую отладчик с графическим интерфейсом, который может запускать методы и позволяет изменять значения параметров функции в режиме реального времени, проблема в том, что отладчик не может сказать мне, какой параметр я меняю, это отображает только тип данных параметра. Поэтому, если мне нужно изменить 10 различных параметров, все типа int, отладчики отображают их как int, а не их имена.

Я думаю, что если я использую прокси-типы, я могу легко различать параметры.

Итак, мой вопрос: возможно ли прокси-типы данных?Я имею в виду типы данных конкретной карты для пользовательских типов данных, которые будут представлять базовые типы данных?

EDIT: я использую Monster Debugger, и это окно метода, вызываемого в режиме реального времени:

Как вы можете видеть, я не получаю имена параметров, а их тип (int).

3 ответа

Кажется, что нет способов псевдонимов.


Не совсем уверен, что вы собираетесь использовать для этого, но считаете ли вы использование определения нетипизированной переменной?

public function foo(bar1:*, bar2:*, bar3:*, bar4:*):void{}

Затем, используя это, чтобы получить класс переменных?

var PAR_Bar1:Class = Object(bar1).constructor;

EDIT: Ах игнорировать этот, перечитайте свой вопрос и понял, что это не поможет вам.


Я бы порекомендовал вам изменить свой отладчик, но поскольку это правильный вопрос... Вы можете создать класс, как и любую константу:

const PAR_Bar1:Class = ****;

Пусть надеется, что ваш отладчик определит этот класс, а не его мать.

licensed under cc by-sa 3.0 with attribution.