Modifying Method Signatures in Dynamics AX

By Becky Newell | June 22, 2015

I saw this in code recently and wanted to call it out so you don’t make this mistake.  If you are modifying an existing AX method, try to avoid modifying the method’s signature – i.e. try not to mess with the list of parameters required for that method.  If you modify the method signature in Dynamics AX, the customer will very likely have a merging problem with that method going forward.  If it is a Microsoft method and in the next version Microsoft adds another parameter to the method, the customer instantly has a problem.  Any new methods Microsoft added to call the method will no longer compile because we have overridden the method and changed what one of the parameters means.  In a lot of scenarios you can get around the need for a parameter by adding a new parm method to the object and setting it from your calling code, then you don’t have to alter the method parameters.

Having said all of that, if you have to modify a method’s signature:

  1. Add your new parameter to the end of the parameter list for the method
  2. Make it optional.

If you put the parameter at the beginning of the parameter list or somewhere in the middle, all of the methods calling into this one will no longer compile and you’ll have to go modify them as well.  In general, you want to keep our fingerprint of modifications as light as possible.

If you make the method optional all of the existing methods calling this method should still function because they’ll use the default value.

Related Posts


Under the terms of this license, you are authorized to share and redistribute the content across various mediums, subject to adherence to the specified conditions: you must provide proper attribution to Stoneridge as the original creator in a manner that does not imply their endorsement of your use, the material is to be utilized solely for non-commercial purposes, and alterations, modifications, or derivative works based on the original material are strictly prohibited.

Responsibility rests with the licensee to ensure that their use of the material does not violate any other rights.

Start the Conversation

It’s our mission to help clients win. We’d love to talk to you about the right business solutions to help you achieve your goals.

Subscribe To Our Blog

Sign up to get periodic updates on the latest posts.

Thank you for subscribing!