
Find עם פרדיקייט. ו-ForEach מפעיל פעולה על כל פריט בלי לולאה ידנית.הטקסט המלא של הדקות הראשונות בהרצאה «Generics - חלק 6» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אחלה, הדבר הבא שיצאו לנו בעולם הג'נריק נקרא Event Handler. Event Handler זה עבור הקונספט של אירועים. איך אנחנו משתמשים איתו?
בואו נעשה הדמיה. ניקח איזושהי מחלקה, או ליתר דיוק בואו אפילו נבנה אותה בנפרד, בכדי לראות את הכל side by side. בינינו פה איזושהי מחלקה שבנינו.
בואו ניקח מחלקה שמייצרת מספרים רנדומליים. Random Numbers Creator. ומה שאנחנו רוצים לעשות זה לקחת איזושהי פונקציה שתרוץ בלולאה, בואו נניח איזה אלף פעם, ותייצר לו מספרים רנדומליים.
ואני אצייר מספרים בין 1 ל-100. אבל במידה והמספר שיצרנו מתחלק ב-7 ללא שרי, שהמספר שיצרנו מסתיים ב-7, 10 שווה 7, או שהמספר שיצרנו מכיל 7 אנחנו רוצים לדווח עליו באירוע איך אנחנו עושים את זה פה אנחנו צריכים לרשום רק 0 בואו נראה אם הקומפילציה עברה סבבה איך אנחנו מדווחים עליו באירוע אנחנו צריכים לבנות
איזה שהוא איזה שהיא מחלקה שנקרא לה 7 בום לפי המשחק 7 בום שבע בום EventArgs יורשת את EventArgs יש לנו פה public read only int number יש לנו פה איזשהו קונסטרקטור שמקבל את ה-number ואנחנו רוצים עכשיו לבנות אירוע שיוכל לדווח את המספר הזה.
לצורך כך אנחנו צריכים לשים בתוך המחלקה את האירוע האירוע צריך לבוא מ-delegate במקום שנבנה את ה-delegate קיים לנו הפאבליק איבנט איבנט הנדלר ואנחנו יכולים להגדיר את האיבנט הזה או ליתר דיוק את המחלקה הזאת של האיבנט ארגס ושימו לב על משהו מעניין שקיים פה איבנט הנדלר אומר לנו תנו לי פה איזה שהוא טיפוס נתונים אבל שימו לב מה מוגדר כאן t
event args הוא חייב להיות event args או נגזרת של event args. זאת אומרת שאנחנו לא יכולים סתם להגדיר פה ערכים שונים.
אז בואו נגדיר פה את זה ונקרא לאירוע found 7 boom number וכל מה שאנחנו רוצים לעשות זה להעלות אותו this ומשתנה מסוג new ולשלוח את המספר שנמצא. כמובן, רק אם מישהו אכן נרשם לנו לאיבנט הזה.
זאתי מחלקה שאנחנו יכולים לקרוא לה, היא מייצרת לנו מספרים רנדומליים, בואו אפילו נעשה פה איזה המתנה thread.clip של אפילו 10 מילישניות, אז אלף פעמים תמצא לנו פה מלא מלא מלא מספרים שכולם קשורים למספר 7, בואו נבדוק אותה.
נייצר איזשהו משתנה מ-random number creator, נירשם לפונקציה לאירוע בצורה כזאת ונציג את המספר e.number בואו נציג אותו בצורה כזאתי ואז אנחנו יכולים פשוט ללכת קריאייטור ולקרוא