Extension of a Class method - Chain of command- D365 F&O - X++ Code

Rumman Ansari   Software Engineer   2023-08-22   668 Share
☰ Table of Contents

Table of Content:


Extension of a Class method - Chain of command- D365 F&O - X++ Code

Person


internal final class Person
{
    str firstName;
    str lastName;     
   
    // Constructor
    protected void new(str _firstName, str _lastName)
    {
        firstName = _firstName;
        lastName = _lastName;
        Info(strFmt("%1 %2", firstName, LastName));
    }

    // constructor another way to create object
    public static Person constructor(str _firstName, str _lastName){
            return new Person(_firstName, _lastName);
    }

    // method
    public void Personal(str _firstName, str _lastName)
    {
        firstName = _firstName;
        lastName = _lastName;

        Info(strFmt(" I am inside Person Class, I am %1 %2", firstName, LastName));
    }

}

Person_Extension


[ExtensionOf(classStr(Person))]
public final class Person_Extension{
    public void Personal(str _firstName, str _lastName)
    {
        next Personal(_firstName, _lastName);

        Info("I am from _extension class method");        
    }

    public void messageMethod(){
            info("I am only part of extension");
    }

}

TestClass


internal final class TestClass
{   
    public static void main(Args _args)
    {
        // constructor another way to create object
        Person objPerson = Person::constructor("Rumman", "Ansari");
        objPerson.Personal("Osman", "Sk");
    }

}

Output:

Extension of a Class method - Chain of command- D365 F&O - X++
Figure: