Skip to main content

CompileAfter

Specifies that this class should be compiled after other (specified) classes.

Usage

To indicate that the class compiler should compile this class after other classes, use the following syntax:

Class MyApp.MyClass [ CompileAfter = classlist ]  { //class members }

Where classlist is one of the following:

  • A class name. For example:

    [ CompileAfter = MyApp.Class1 ]
    
  • A comma-separated list of class names, enclosed in parentheses. For example:

    [ CompileAfter = (MyApp.Class1,MyApp.Class2,MyApp.Class3) ]
    

Details

This keyword specifies that the class compiler should compile this class after compiling the specified classes.

Typically this keyword is used when there is a dependency that the compiler cannot detect between classes such that one must be compiled after another.

This keyword affects only compilation order, not runtime behavior.

Note:

The CompileAfter keyword does not ensure the specified classes are runnable before compiling this class. See the DependsOn keyword.

Also, the CompileAfter keyword affects only classes with common values for the System keyword.

Effect on Subclasses

This keyword is inherited from all superclasses. If the subclass specifies a value for the keyword, that value specifies additional classes that must be compiled before the subclass can be compiled.

Default

By default, this keyword is not specified.

See Also

FeedbackOpens in a new tab