🚀 Welcome to MDriven Learn –  Don’t miss the latest Release Notes.
Constructor in generated code

There are different kinds of operation methods:

To create a constructor, first add a normal method, and then change the operationKind to constructor.

In generated code, you will get this:

public partial class Class1
{
  [UmlElement(Id = "c8111515-b7a5-4b9b-87f9-4a19261c8bd8")]
  public Class1(Class2 aClass2)
  {
  }
}

Normally, when creating a constructor for "live" objects, you will want to pass in IEcoServiceProvider and call the main constructor we provide like this:

public Class1(IEcoServiceProvider serviceProvider, Class2 aClass2): this(serviceProvider)
{
}

When not using code - only action language

When not using code - only action language (EAL), we do not allow constructors to be implemented in the body property of the method. You can, however, set OperationKind:Static and go like this:

SimulatedConstructor(input1:String; input2:String):Class1

And in the body:

let ret=Class1.Create in(
ret.Attribute1:=input1;
ret.Attribute2:=input2;
ret )

All in all, this will serve the same effect as a constructor—when you need to set provided parameters or create structures in one go, call it with:

Class1.SimulatedConstructor('a','b')



]