AX7 - 5/5 Múltiples llámadas a un delegate

En todos los ejemplos vistos, el delegate estaba asociado a un método de la misma clase, pero eso no tiene porque ser así.
El delegate puede estar suscrito a distintos métodos a la vez y en diferentes clases.

Aquí tenéis todo el código:

class Test
{
    delegate void infoDelegate(str _info){}

    static void main(Args   args)
    {
        Test Test = new Test();

        Test.infoDelegate("Hola");
    }
}

class Class1
{
    [SubscribesTo(classstr(Test), delegatestr(Test, infoDelegate))]
    static public void infoMethod(str _info)
    {
        info(_info + " desde infoMethod class1.");
    }
}

class Class2
{
    [SubscribesTo(classstr(Test), delegatestr(Test, infoDelegate))]
    static public void infoMethod(str _info)
    {
        info(_info + " desde infoMethod class2.");
    }
}

Al ejecutar el proceso cuando se llama al delegado se llamarán a todos los métodos que tengan el delegado como atributo, el orden es aleatorio, no se le puede indicar uno.



Comentarios