תרגול השאלה של handle¶
הוסיפו למעטפת event פעולה שממתינה עם timeout דרך WaitForSingleObject, וממפה בנפרד signaled, timeout ו־failure. העבירו SafeHandle ישירות בחתימה. בדקו Dispose אחרי שימוש ו־Dispose כפול.
כתבו קטע שמקבל SafeHandle אך חייב לקרוא API עם nint. שמרו השאלה באמצעות DangerousAddRef והחזירו אותה ב־finally. הסבירו למה GC.KeepAlive לבדו לא מגן מפני Dispose מפורש של thread אחר.
צרו GCHandle מסוג Normal עבור אובייקט מצב, העבירו את token דרך פונקציה מקומית שמדמה callback ושחזרו את Target. הגדירו את נקודת Free ואת האיסור על שימוש ב־token לאחריה.