|
|
|||||
Регистрация: Nov 2008
Сообщений: 65
|
Запись вида Bitmap(imageLoader.content) то же самое что и (imageLoader.content as Bitmap), то есть это просто приведение к типу.
А new Bitmap(...) - попытка создать новый битмап из графических данных (вместо коих вы пытаетесь передать сам Bitmap, на что вам и ругается) |
|
|||||
Modus ponens
|
Bitmap(someObjectMaybeBitmap) == попытка конвертации одного типа в другой, т.е. тут Bitmap() выступает в роли глобальной функции, а результат операции не создаст нового объекта, а представит уже существующий в виде Bitmap если это возможно.
new Bitmap(someBitmapData) == создание нового объекта типа Bitmap, для того, чтобы такой объект создать нужен объект типа BitmapData
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Jan 2008
Сообщений: 221
|
ZlPredator, wvxvw. Спасибо разобрался.
вроде элегантнее чем |
|
|||||
стервочка (я мужик)
|
ZlPredator, а ещё попробуйте со скобками поиграться, с простыми типами, а так же XML, XMLList, Date ... в общем всё, что пишет адоба в рекомендациях, и то как это работает на самом деле, совсем разные вещи я бы даже сказал, что зачастую они диаметрально противоположны.
|
|
|||||
Регистрация: Jan 2008
Сообщений: 221
|
BlooDHounD, например.... ? огласите весь список пЖалста
|
|
|||||
Регистрация: Nov 2008
Сообщений: 65
|
Цитата:
По поводу рекомендаций от Адобы - не спорю. Мне тут просто доказывали обратное... |
|
|||||
стервочка (я мужик)
|
как написал выше wvxvw, одно дейстсво является приведением, второе - конвертацией.
и поэтому иногда они приводят к одинаковому результату, но на самом деле выполняют разные задачи. использование глобальных функций, должно приводить к созданию нового объекта, исходя из работы таких же нативных методов, но на самом деле, работает неоднозначно, в отличии от оператора as. |
|
|||||
Регистрация: Nov 2008
Сообщений: 65
|
Не надо путать вызовы глобальных функций (к коим и принадлежит XML() и еще около 10 функций) с приведением типов.
public class MyClass { } var o:Object = new MyClass(); var c1:MyClass = o as MyClass; var c2:MyClass = MyClass(o); Глобальные же функции создаются чтобы получать нужный класс из других объектов (в случае необходимости могут и создать новый экземпляр), т.е. они действительно конвертеры. |
|
|||||
Et cetera
Регистрация: Sep 2002
Сообщений: 30,784
|
ZlPredator, для приведения типов создан специальный оператор. Его и только его нужно использовать для приведения.
Взять хотя бы такой пример: Мы получим в ответ массив вместо null, а ведь «c» может содержать в себе ссылку на любой класс, заранее неизвестный. Поэтому не стоит мешать мух и котлеты. |
Часовой пояс GMT +4, время: 03:35. |
|
« Предыдущая тема | Следующая тема » |
|
|