Руководство по actionscript. часть 3, стр. 043

После всего сказанного и сделанного выражение

displayAuthor(novel. AUTHOR);

преобразуется в выражение

displayAuthor(«Joyce, James»);

которое мы и предполагали увидеть.

В большинстве случаев мы можем игнорировать предыдущее усложнение, поскольку расширение Е4Х, говоря ненаучным языком, «делает то, что подразумевается». Однако существуют моменты, когда необходимо понимать действия «автопилота» в лице расширения Е4Х, чтобы осуществлять «ручное управление». Предположим, мы решили, что в книжном магазине должно выводиться не только имя, но и дата рождения каждого автора. Изменим структуру нашего фрагмента XML, чтобы включить дату рождения в качестве ребенка элемента , как показано в следующем коде:

var novel:XML = Ulysses

Joyce, James

February 2 1882

Penguin Books Ltd

Соответственно изменим метод displayAuthor ( ), чтобы он принимал элемент в качестве параметра и получал имя и дату рождения автора непосредственно из элементов-детей и :

public function displayAuthor (author. XML):void { authorField. text = «Name: » + author. NAME

+ » Birthdate: » + author. BIRTHDATE;

}

Обратите внимание, что в данном коде тип данных параметра был изменен с типа String на XML. Если сейчас мы попытаемся передать значение выражения novel. AUTHOR в метод displayAuthor ( ), на этапе выполнения возникнет ошибка несоответствия типов, поскольку среда Flash не может осуществить неявное преобразование значения выражения novel. AUTHOR (которое является объектом XMLList) к экземпляру класса XML:

displayAuthor(novel. AUTHOR); //Ошибка #1034: Ошибка операции приведения

//типов: невозможно преобразовать XMLList в XML

Чтобы исправить данную ошибку, мы должны явно ссылаться на экземпляр класса XML, представляющий элемент , при передаче его в метод displayAuthor ( ), как показано в следующем коде:

di splayAuthor(novel. AUTHOR[0]); // Передаем единственный экземпляр класса

// XML, принадлежащий значению выражения’ // novel. AUTHOR, в метод displayAuthor( )

Обратите внимание на важное отличие: когда мы хотим обратиться к тексту, содержащемуся в элементе , как к значению типа String, мы можем положиться на автоматическое поведение расширения Е4Х. Однако когда мы хотим обратиться к настоящему экземпляру класса XML, представляющему элемент , то должны явно ссылаться на этот экземпляр.

google.com bobrdobr.ru del.icio.us technorati.com linkstore.ru news2.ru rumarkz.ru memori.ru moemesto.ru

Оставить комментарий

Вы должны авторизоваться для отправки комментария.

Полезные ссылки
Случайные записи
  • 03.06.2010">Самоучитель по креативному веб-дизайну. Книга 3, стр.71
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.1
  • 16.06.2010">Самоучитель по креативному веб-дизайну. Книга 4, стр.30
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 134
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 131
  • 13.03.2011">Руководство по actionscript. часть 3, стр. 111
  • 08.03.2011">Руководство по actionscript. часть 4, стр. 084
  • 11.08.2010">Популярное расположение контактной информации
  • 18.05.2010">Самоучитель по креативному веб-дизайну. Книга 2, стр.73
  • 05.03.2011">Руководство по actionscript. часть 5, стр. 009
  • 22.01.2011">Руководство по actionscript. часть 1, стр. 119
  • 27.10.2012">«Лаборатория Касперского»: Android 2.3.6 Gingerbread — любимая система злоумышленников
  • 06.03.2011">Руководство по actionscript. часть 4, стр. 129
  • 04.03.2011">Руководство по actionscript. часть 5, стр. 051
  • 11.05.2010">Самоучитель по креативному веб-дизайну. Книга 1, стр.40
Опрос

Какие цвета вы предпочитаете?

View Results

Loading ... Loading ...