Использование констант в качестве значений параметров по умолчанию в интерфейсах: IDE в порядке, но mxmlc не работает?

Кажется, этот код отлично компилируется в среде IDE, но компилятор командной строки (SDK 4.5 mxmlc.exe) сообщает: «Инициализатор параметра неизвестен или не является константой времени компиляции».

senocular дает хорошее объяснение и, возможно, обходной путь, но я надеюсь на что-то более элегантное (например, инструкцию в командной строке).

package {
    public class Constants {
        public static const CONSTANT : int = 0;
    }
}


package {
    public interface IInterface {
            function foo( param : int = Constants.CONSTANT ) : void;
    }
}

package
{
    public class Concrete implements IInterface
    {   
            public function foo(param:int=Constants.CONSTANT):void
            {        
            }
    }
 }

6
задан Richard Haven 13 June 2011 в 20:25
поделиться