2009-09-21 23 views
12

Olayların yoğun kullanımını kolaylaştırır bir proje üzerinde son zamanlarda bazı çalışmalar yaptık. Yapmam gereken şeylerden biri, bir çok noktaya yayın temsilcisindeki birden çok olay işleyicisini eşzamansız olarak çağırmaktır. Ben hile GetInvocationList her öğe üzerinde BeginInvoke çağırmak olacağını düşündüm, ama Beginınvoke orada yok sanki görünür.Asenkron Noktaya Yayın delegeler

bunu yapmak ya da ben ThreadPool.QueueUserWorkItem kullanmaya başlamak ve çeşit bu şekilde kendi çözüm rulo gerekiyor bir yolu var mı?

cevap

19

GetInvocationList sadece uygun imzayı bilmiyor tip Delegate dizisi döndürür. Ancak, döndürülen her bir değeri, belirli bir temsilci türüne atayabilirsiniz:

foreach (MyDelegate action in multicast.GetInvocationList()) 
{ 
    action.BeginInvoke(...); 
} 
+0

D'oh! Tabii ki! Çok sağol Jon. :) –

İlgili konular