Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   [as2] значение this внутри with (http://www.flasher.ru/forum/showthread.php?t=70104)

: hr : 07.10.2005 15:25

[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!

silin 07.10.2005 19:22

для сравнения:
var obj:Test = new Test();
trace(obj.prop)
дает такую же ошибку (свойство-то приватное)
т.е. выходит, что в случае with (_root) {trace(this.prop);} this указует на объект(класс), а вызов просходит из области видимости рута
зы: вот и думаешь много ли от него (with) пользы, чтоб связываться..

: hr : 07.10.2005 19:25

понятно, спасибо silin, я так и предполагал...


Часовой пояс GMT +4, время: 04:36.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.