The day is finally here. The Acceptance Test Library is made publicly available with 10.0.2. So what is it? It is nothing short of the best productivity feature you'll get this decade as an X++ engineer. More concretely it is a lib...
Method signatures are not extensible – and will not be. Extensible parameters would be intrusive – in so many ways: Breaks derived classes (signatures of overridden methods must match), Requires recompilation, No side...
X++ is designed for concurrent work loads - enabling multiple users performing their operations at the same time. Sometimes such operations are in conflict, and the system has to detect, recover and proceed. Data inconsistencies should not be allo...
We recently added a new feature in X++, making it easier to make certain SQL-where clauses extensible. Consider this method: It can now be refactored to support an extender in controlling which LedgerPostingTypes to include in the calculation: A...
The access modifiers in X++ are now much closer to C#'s access modifiers, and behave just the same. Who can access foo() when it is…? Please notice protected internal is the union of protected and internal. I.e. a protected internal m...
As you can see on the Dynamics Roadmap a new capability is being introduced in X++; it enables strongly typed extension capabilities of public and protected methods; including access to public and protected members. Oh; I almost forgot: This is my...
Today I attended an excellent TechTalk on C# 7.0 by Mads Torgersen at a full house in Microsoft Development Center Copenhagen. As the talk unfolded I was struck by Déjà vu– this is not the first time I've ...
internal is a new keyword in X++. It has the same semantics as in C#. When you mark a class or method as internal, then it can only be accessed from within the module where it is defined. internal class MyInternalClass { internal...
With the availability of the Acceptance Test Library (ATL) let me share some guidelines for writing tests. As you embark on writing tests, these will help you steer the course and get most out of the investment. We write unit tests to: Dete...
