Flex DataType Conversion - PullRequest
       9

Flex DataType Conversion

0 голосов
/ 14 июня 2011

У меня очень простой вопрос относительно преобразования типов в flex.

В чем разница между этими двумя преобразованиями.

1) var arrCol: ArrayCollection = new ArrayCollection (event.result.dataset.table);

2) var arrCol: ArrayCollection = event.result.dataset.table as ArrayCollection;

Я видел, что второе преобразование работает лучше (большее количество раз), чем первое.

Ответы [ 2 ]

5 голосов
/ 14 июня 2011

Я думаю, что термин «преобразование» не является правильным. В вашем фрагменте кода присутствуют инстанцирование и приведение.

Случай 1) - создание экземпляра (создание нового экземпляра класса). Чтобы определить это, взгляните на ключевое слово new. И параметр Array экземпляр согласно документации конструктора ArrayCollection .

Дело 2) Кастинг. В вашем случае event.result.dataset.table должно быть ArrayCollection. В противном случае значение arrCol будет null. Еще одна форма кастинга:

var arrCol:ArrayCollection = ArrayCollection (event.result.dataset.table);

В этом случае, если event.result.dataset.table не является ArrayCollection, будет исключение времени выполнения. Из-за Array и ArrayCollection являются несовместимыми типами и не могут приводить их друг к другу.

0 голосов
/ 14 июня 2011

event.result.dataset.table as ArrayCollection более читабелен и быстрее пишется. Но я помню ситуацию, когда flex сгенерировал ошибку, когда объект был преобразован таким образом.

...