من از جزئیاتش اطلاعی ندارم، Visual Studio هم الان ندارم که بخوام تست کنم، ولی منطق کار درست هست، و کدهای مربوط به تغییر UI از سایر کدها جدا شدند، و توسط Threadهای مالک اون اشیاء ویژوال تغییر می کنند.گذشته از شوخی؛ پس بنظر شما کد بالا عملاً مشکلی نداره؟ حالا Performance اش بماند، این کد Thread-safeهست دیگه ان شا... ؟
خب دیگه، هر زبانی شکل و شمایل خودش رو داره.راستش یکمی ناجور بنظر میرسه که داخل خود تابعی که قرار هست Asynchron فراخوانی بشه، یه CallBack تنظیم (Set) کنیم! اونهم با این سینتکس عجیب که new object رو Invoke میکنه و ...