Wenn Sie ein Ereignis in .NET abonnieren, wird das Abonnement einem Multicast-Delegaten hinzugefügt. Wenn das Ereignis ausgelöst wird, werden die Delegierten in der Reihenfolge aufgerufen, in der sie abonniert wurden.Kann ich die Reihenfolge eines Multicast-Delegate-Events umkehren?
Ich möchte das Abonnement irgendwie überschreiben, so dass die Abonnements tatsächlich in der umgekehrten Reihenfolge ausgelöst werden. Kann das gemacht werden und wie?
Ich denke, so etwas wie dies sein könnte, was ich brauche ?:
public event MyReversedEvent
{
add { /* magic! */ }
remove { /* magic! */ }
}
Ich dachte, die Reihenfolge, in der die Abonnements gefeuert wurden, war unbestimmt. – ChrisF
@ChrisF: Von MSDN ... "Ein MulticastDelegate hat eine verknüpfte Liste von Delegaten, eine so genannte Aufrufliste, die aus einem oder mehreren Elementen besteht. Wenn ein Multicast-Delegat aufgerufen wird, werden die Delegaten in der Aufrufliste synchron in der Reihenfolge aufgerufen in dem sie erscheinen. " –
@Robert - Ah, ich habe die ** Multicast ** - Bit - Zeit klar beschönigt, um aufzuhören, nach Antworten zu suchen und ins Bett zu gehen. – ChrisF