Flex 4 два класса в одном файле - PullRequest
11 голосов
/ 04 мая 2011

Могу ли я поместить два или более классов ActionScript в один файл .as следующим образом:

//A.as
package classes {

    public class A {
        public function A() {
            var b:B = new B();
        }
    }
    internal class B {
        public function B() {
            trace("Hello");
        }
    }
}

Это не работает в Flash Builder:

Файл, найденный в исходном пути, не может иметь более одного внешнего видимое определение. классы: A; классы: B

Если это возможно, я задам следующий вопрос.
Могу ли я поместить два или более пакетов с несколькими классами в один файл .as?

1 Ответ

25 голосов
/ 04 мая 2011

Нет и нет. Следующие работы:

//A.as

package classes {

    public class A {
        public function A() {
            var b:B = new B();
        }
    }

}
class B { // <--- Note the class is outside of the package definition.
    public function B() {
        trace("Hello");
    }
}

Класс B виден только классу A - вы не можете иметь более одного видимого класса в одном файле (именно то, что указано в сообщении об ошибке). И вы не можете иметь более одного пакета в файле.

...