title | description | author | manager | ms.date | ms.topic | ms.prod | ms.service | ms.technology | audience | ms.reviewer | ms.search.scope | ms.custom | ms.assetid | ms.search.region | ms.author | ms.search.validFrom | ms.dyn365.ops.version |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
X++ language reference |
This topic provides programming guidance for X++. |
RobinARH |
AnnBe |
06/20/2017 |
article |
dynamics-ax-platform |
Developer |
rhaertle |
Operations |
72181 |
fe5d3cdd-8b3d-4967-98a2-dadada18a421 |
Global |
rhaertle |
2016-02-28 |
AX 7.0.0 |
[!include banner]
X++ is an object-oriented, application-aware, and data-aware programming language used in enterprise resource planning (ERP) programming and in database applications. It provides system classes for a broad range of system programming areas, highlighted in the following table.
X++ language attributes | Description |
---|---|
Classes | In addition to system classes, there are also application classes for managing many types of business processes. Reflection on classes is supported. |
Tables | X++ programmers can access the relational tables. X++ includes keywords that match most of the keywords in standard SQL. Reflection on tables is supported. |
User interface | Manipulation of user interface items, such as forms and reports. |
Best practice checks | X++ code is checked for syntax errors during compile time. The compile process also performs best practice checks. Violations of best practices can generate compiler messages. |
Garbage collection | The X++ runtime execution engines have automatic mechanisms to discard objects that are no longer referenced, so that memory space can be reused. |
Interoperability | Interoperability between classes written in X++ and in C# (or other .NET Framework languages) is supported. |
File manipulation | File input and output is supported, including XML building and parsing. |
Collections | Dynamic arrays are supported and the X++ includes several collection objects. |
The X++ language programming guide is divided into these sections: