Po zasubskrybowaniu zdarzenia w .NET subskrypcja jest dodawana do delegata multiemisji. Po wystrzeleniu zdarzenia delegaci są wywoływani w kolejności, w której zostali zasubskrybowani.Czy mogę odwrócić kolejność zdarzeń delegowania multiemisji?
Chciałbym jakoś przesłonić subskrypcję, aby subskrypcje zostały faktycznie wysłane w kolejności odwrotnej. Czy można to zrobić i jak?
Myślę, że coś takiego może być to, czego potrzebuję ?:
public event MyReversedEvent
{
add { /* magic! */ }
remove { /* magic! */ }
}
Myślałem, że zamówienie, w którym subskrypcje zostały zwolnione, było nieokreślone. – ChrisF
@ChrisF: Od MSDN ... "MulticastDelegate ma połączoną listę delegatów, nazywaną listą wywołań, składającą się z jednego lub więcej elementów. Gdy delegat multiemisji jest wywoływany, delegatów na liście wywołań nazywa się synchronicznie w kolejności w którym się pojawiają. " –
@Robert - Ah, wyraźnie pomalowałem na ** multicast ** bit - czas przestać szukać pytań do odpowiedzi i iść spać. – ChrisF