Пример #1
0
    public static void Main()
    {
        MinhaClasse      c = new MinhaClasse();
        MinhaOutraClasse o = new MinhaOutraClasse();

        Notificador notif = new Notificador(MinhaClasse.NotificadorStaticHandler);

        notif += new Notificador(MinhaOutraClasse.NotificadorStaticHandler);
        notif += new Notificador(c.NotificadorInstanceHandler);
        notif += new Notificador(o.NotificadorInstanceHandler);

        notif("Broadcast...");

        Delegate[] d = notif.GetInvocationList();

        object[] p = new object[] { "Broadcast..." };

        d[2].DynamicInvoke(p);
        d[3].DynamicInvoke(p);
        d[1].DynamicInvoke(p);
        d[0].DynamicInvoke(p);
    }
Пример #2
0
    public static void Main()
    {
        MinhaClasse c = new MinhaClasse();

        Notificador notif = new Notificador(MinhaClasse.NotificadorStaticHandler);

        notif += new Notificador(MinhaClasse.NotificadorStaticHandler);
        notif += new Notificador(MinhaClasse.NotificadorStaticHandler);

        notif("Broadcast...");

        int totaldemétodos = notif.GetInvocationList().Length;

        for (int a = 0; a < totaldemétodos; ++a)
        {
            notif -= new Notificador(MinhaClasse.NotificadorStaticHandler);
        }

        if (notif != null)
        {
            notif("Broadcast...");
        }
    }