![]() |
[as2] значение this внутри with
Друзья, разбираюсь с AS 2.0, подскажите пожалуйста значение this внутри инструкции with внешнего класса. Другими словами проблема в следующем:
class Test { private var prop:Number = 1; public function method():Void { prop = 2; with (_root) { trace(this.prop); } } } ну и соответственно var obj:Test = new Test(); obj.method(); Выдает ошибку The member is private and cannot be accessed. Почему? Ведь собственное свойство объекта prop объявлено? Причем ошибка возникает только внутри with! |
для сравнения:
var obj:Test = new Test(); trace(obj.prop) дает такую же ошибку (свойство-то приватное) т.е. выходит, что в случае with (_root) {trace(this.prop);} this указует на объект(класс), а вызов просходит из области видимости рута зы: вот и думаешь много ли от него (with) пользы, чтоб связываться.. |
понятно, спасибо silin, я так и предполагал...
|
| Часовой пояс GMT +4, время: 04:36. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.