Я все більше втручаюся у світ асинхронії і роблю трохи копання про деякі з пасток мульти-поглинання. Сьогодні я натрапила на цікаву книжку, яка включає використання StartInvoke без відповідного EndInvoke, коли використовувала делегатів... багато книжок (включаючи ту, якою я зараз користуюся, найпрекрасніші Програмування компонентів.NET від Juval Lowy) Згадайте, що добрим способом, яким можна синхронно стріляти події (тобто, без блокування), є простий виклик StartInvoke для делегата, - здається, досить просто! Ну, коли я трохи читав, то зрозумів. це Майк Вудріндж у якому міститься така умова: "Починаючи з 1,1 випуску функціонування кадрів. NET, лікарі SDK тепер мають застереження, яке вимагає виклик EndInvoke on делегати, яких ви назвали StartIvoke on, щоб уникнути потенційних течій. Це означає, що ви не можете просто "Вогню- forget" виклик до StartInvoke без ризику ризику виникнення проблем ." Тепер, я не можу знайти в документах, які кажуть, що, але інша стаття на O'Reilly що й... аби уникнути цієї потенційної витоки, на щастя. Речі Майка має доброзичливий маленький помічник клас який підтримує "Пожежа і забути ідіому" - легко. Тепер я можу мати чудовий вогонь і забувати дзвінки, не турбуючись про непрогнозовані витік: -)
UPDATE: знайшов док довідку, якщо у вас є MSDN це тут, якщо не версія в рядку тут
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.